当前位置:  开发笔记 > 编程语言 > 正文

如何使用jQuery或简单的js调用简单的WCF服务

如何解决《如何使用jQuery或简单的js调用简单的WCF服务》经验,为你挑选了1个好方法。

我有一个非常简单的hello world WCF服务,如下所示.当我通过添加Web服务引用通过asp.net项目调用它时,它工作得很好.但是当我使用jQuery或标准js ajax调用(使用XMLHttpRequest)调用它时,它会调用success函数但返回null数据.

当我尝试使用此地址通过firefox浏览器访问它时: http://localhost:8282/Test/TestService.svc/HelloWorld

它返回错误,代码为"a:ActionNotSupported",错误详情为

由于EndpointDispatcher上的ContractFilter不匹配,无法在接收方处理带有Action''的消息.这可能是由于合同不匹配(发送方与接收方之间的操作不匹配)或发送方与接收方之间的绑定/安全性不匹配.检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息,传输,无).

如果我更改绑定,wsHttpBinding那么即使在Firefox中也没有返回任何内容.

这是代码:

文件"Test/ITestService.svc":

[ServiceContract(Namespace = "http://localhost:8282/")]
public interface ITestService
{

    [OperationContract]
    string HelloWorld();
}

文件"Test/TestService.svc":

public class TestService : ITestService
{
    public string HelloWorld()
    {
        return "This is echo from server. Hello World";
    }
}

文件"web.config"



    
    
            
            
            
        
        
        
    
    
    
        
        
        
        
        
    

Adeem.. 5

使用上面的代码服务只允许soap请求,以便允许获取http请求,我们必须修改代码,如下所示:

在界面中:

    [WebGet(UriTemplate="helloworld")]
    [OperationContract]
    string HelloWorld();

在web配置中:

添加行为配置:


然后在行为中添加以下标记:

"请从上面删除多余的空格.它没有显示标签没有额外的空格"


查看一些资源:

使用WCF的RESTful服务简介http://msdn.microsoft.com/en-us/magazine/dd315413.aspx

Endpoint.TV截屏:

使用WCF构建RESTful服务(第1部分) http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Building-RESTful-Services-with-WCF/

使用WCF构建RESTful服务(第2部分)http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Building-RESTful-Services-with-WCF-Part-2/

在WCF中调用RESTful服务http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Calling-RESTful-Services-in-WCF/

对于WCF和WCF REST来说,Endpoint.TV一般都有很好的覆盖范围.http://channel9.msdn.com/shows/Endpoint/



1> Adeem..:

使用上面的代码服务只允许soap请求,以便允许获取http请求,我们必须修改代码,如下所示:

在界面中:

    [WebGet(UriTemplate="helloworld")]
    [OperationContract]
    string HelloWorld();

在web配置中:

添加行为配置:


然后在行为中添加以下标记:

"请从上面删除多余的空格.它没有显示标签没有额外的空格"


查看一些资源:

使用WCF的RESTful服务简介http://msdn.microsoft.com/en-us/magazine/dd315413.aspx

Endpoint.TV截屏:

使用WCF构建RESTful服务(第1部分) http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Building-RESTful-Services-with-WCF/

使用WCF构建RESTful服务(第2部分)http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Building-RESTful-Services-with-WCF-Part-2/

在WCF中调用RESTful服务http://channel9.msdn.com/shows/Endpoint/endpointtv-Screencast-Calling-RESTful-Services-in-WCF/

对于WCF和WCF REST来说,Endpoint.TV一般都有很好的覆盖范围.http://channel9.msdn.com/shows/Endpoint/

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有