问题陈述:客户端(jquery)和服务器端(asp.net)应用程序都可以访问的服务。 所有应用程序都是内部应用程序 注意:优先通信格式为JSON
说明
我需要通过提供CRUD操作的服务公开持久存储(数据库)。该服务需要通过jquery和服务器端应用程序(如asp.net webapplications)从客户端应用程序访问。
从我最初的研究中,我意识到如果我使用asp.net ajax asmx(或)ajax启用wcf服务,由于跨域/跨脚本问题,我将无法在其他应用程序中使用它(参考:calling asmx web service from jQuery)。
我看到了使用JSONP的变通办法,但我的理解是只支持获取请求,无论哪种方式都是hacky。
我想我到处都是。以下是我经历的一些链接:
http://forums.asp.net/p/1512786/3609834.aspx
How to call external webservice using jquery "jsonp"?
can jquery ajax call external webservice?
What is the best way to call a .net webservice using jquery?
What are some good examples of JQuery using JSONP talking to .net?
http://msdn.microsoft.com/en-us/library/cc716898.aspx
http://www.west-wind.com/Weblog/posts/107136.aspx
http://abcoder.com/javascript/jquery/jsonp-first-timer/
http://www.4guysfromrolla.com/articles/111710-1.aspx
我将转向处理JSON的自托管WCF Restful服务。这是一个可行的选择吗? Restful WCF服务有什么问题吗?有什么建议吗?
注意:我正在使用C#和.NET 3.5 SP1
请告知。
答案 0 :(得分:1)
如果您托管Web服务,如果在同一个域上,您可以使用JQuery来调用它。 ScriptManager代理方法不是开箱即用的,但它可以通过Sys.Net.WebServiceProxy类完成。否则,最糟糕的情况是您创建专用服务,并启用ASMX或AJAX启用的WCF服务,以便为您提供生成的代理功能和跨域调用。