通过javascript访问C#webservice

时间:2011-10-28 18:33:49

标签: c# javascript jquery wsdl

我在通过JQuery访问C#webservice时遇到了一些问题。我有一个WSDL和一个.svc,我不完全确定如何访问我需要的功能。我读过:http://www.andrewrowland.com/article/display/consume-dot-net-web-service-with-jquery/但是在我的应用程序中没有.asmx页面的地方没有任何意义。我知道这是一个新手问题,但我真的被卡住了。

2 个答案:

答案 0 :(得分:2)

在服务器端,您可以使用[WebGet]或[WebInvoke]属性发布服务操作,

[WebGet]
public string Get()
{
    return "Hello, world!"; 
}

请记住,您还需要使用WebHttpBinding来获取REST功能,有关详细信息,请参阅此链接:http://weblogs.asp.net/kiyoshi/archive/2008/10/08/wcf-using-webhttpbinding-for-rest-services.aspx

然后在客户端,您可以使用$ .ajax或$ .get来调用该函数,

$.get("http://localhost/somewcfservice.svc/Get", function (data) {
      alert(data); 
}

第一个参数是服务操作的URI,第二个参数是您在收到数据后作为回调传递给$ .get方法的函数。

上面的代码应该在浏览器中生成一个警告“Hello,world!”

请点击此处了解详情:http://msdn.microsoft.com/en-us/library/system.servicemodel.web.webgetattribute.aspx

答案 1 :(得分:1)

这是你可以通过的article。如果您使用的是WCF,请忘记.asmx。 ASMX是不应再​​使用的遗留内容。如本文所述,您可以使用REST端点公开您的WCF服务,以便可以通过javascript访问它。

这是another guide