|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。在我们之前的开辟中,关于ajax程序,都是经由过程jQuery挪用标志为[System.Web.Script.Services.ScriptService]的WebService,然后在WebService中挪用背景的WCF。这成为WebService存在的独一来由:作为ajax挪用的直达站。假如要丢弃WebService,只需用WCF来作为直达站。
在.NET3.5时期,jQuery就能够挪用WCF,之前我也写过博客(好比:jQuery挪用WCF必要注重的一些成绩),但设置对照贫苦。
走进.NET4的新时期,WCF的设置切实其实简化了很多(好比:在.NET4顶用IIS部署WCF就这么复杂),WCF的ajax挪用一样也简化了。以是我们决意丢弃WebService,周全进军WCF。
如今博客园的程序架构已基于WCF,以是我们对WCF分外存眷,分享的文章有些大概对照复杂,但都是源自我们实践开辟中碰到并办理的成绩。
上面分享一下在.NET4中怎样经由过程jQuery挪用WCF:
申明:这里的WCF仅仅是给ajax挪用的直达站,经由过程它再往挪用当地服务层接口大概背景的其他WCF服务。
1.在App_Code中增加一个类文件(就是一般的class),好比叫HelloService.cs。
2.在HelloService.cs中增加一个办法,再加上一些WCF的设置,以下图:
[ServcieContract]与[OperationContract]是尺度设置,这里将‘服务接口”与"服务虚现"写在了一个类中,不是保举做法。我们这里如许做,是由于必要的是一个ajax挪用直达站,越复杂越好。
这里必要注重的是AspNetCompatibilityRequirements,假如不举行这个设置,WCF就不走ASP.NET管线,ASP.NET的高低文信息就拿不到,好比:不加这个设置,HttpContext.Current就为null,最经常使用的场景就是依据HttpContext猎取用户登录信息,对用户权限举行考证。对应于这个设置,在web.config的<system.serviceModel>中必要加上<serviceHostingEnvironmentaspNetCompatibilityEnabled="true">,以下图:
*注重的中央:web.config中加了下面的设置后,一切的WCF服务虚现都要设置AspNetCompatibilityRequirements属性。
语言是不是不是最重要的? |
|