一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

舍WebService 用.NET4中jQuery調(diào)用WCF

  在我們之前的開(kāi)發(fā)中,對(duì)于ajax程序,都是通過(guò)jQuery調(diào)用標(biāo)記為[System.Web.Script.Services.ScriptService]的WebService,然后在WebService中調(diào)用后臺(tái)的WCF。這成為WebService存在的唯一理由:作為ajax調(diào)用的中轉(zhuǎn)站。如果要拋棄WebService,只需用WCF來(lái)作為中轉(zhuǎn)站。

  在.NET 3.5時(shí)代,jQuery就可以調(diào)用WCF,之前我也寫(xiě)過(guò)博客(比如:jQuery調(diào)用WCF需要注意的一些問(wèn)題),但配置比較麻煩。

  走進(jìn).NET 4的新時(shí)代,WCF的配置的確簡(jiǎn)化了不少(比如:在.NET 4中用IIS部署WCF就這么簡(jiǎn)單),WCF的ajax調(diào)用同樣也簡(jiǎn)化了。所以我們決定拋棄WebService,全面進(jìn)軍WCF。

  舍WebService 用.<a href=/itjie/NETjishu/ target=_blank class=infotextkey>NET</a>4中jQuery調(diào)用WCF

  現(xiàn)在博客園的程序架構(gòu)已經(jīng)基于WCF,所以我們對(duì)WCF格外關(guān)注,分享的文章有些可能比較簡(jiǎn)單,但都是源自我們實(shí)際開(kāi)發(fā)中遇到并解決的問(wèn)題。

  下面分享一下在.NET4中如何通過(guò)jQuery調(diào)用WCF:

  說(shuō)明:這里的WCF僅僅是給ajax調(diào)用的中轉(zhuǎn)站,通過(guò)它再去調(diào)用本地服務(wù)層接口或者后臺(tái)的其他WCF服務(wù)。

  1. 在App_Code中添加一個(gè)類(lèi)文件(就是普通的class),比如叫HelloService.cs。

  2. 在HelloService.cs中添加一個(gè)方法,再加上一些WCF的設(shè)置,如下圖:

  舍WebService 用.<a href=/itjie/NETjishu/ target=_blank class=infotextkey>NET</a>4中jQuery調(diào)用WCF

  [ServcieContract]與[OperationContract]是標(biāo)準(zhǔn)設(shè)置,這里將‘服務(wù)接口”與"服務(wù)實(shí)現(xiàn)"寫(xiě)在了一個(gè)類(lèi)中,不是推薦做法。我們這里這樣做,是因?yàn)樾枰氖且粋€(gè)ajax調(diào)用中轉(zhuǎn)站,越簡(jiǎn)單越好。

  這里需要注意的是ASPNETCompatibilityRequirements,如果不進(jìn)行這個(gè)設(shè)置,WCF就不走ASP.NET管線,ASP.NET的上下文信息就拿不到,比如:不加這個(gè)設(shè)置,HttpContext.Current就為null,最常用的場(chǎng)景就是根據(jù)HttpContext獲取用戶登錄信息,對(duì)用戶權(quán)限進(jìn)行驗(yàn)證。對(duì)應(yīng)于這個(gè)設(shè)置,在web.config的中需要加上,如下圖:

  舍WebService 用.<a href=/itjie/NETjishu/ target=_blank class=infotextkey>NET</a>4中jQuery調(diào)用WCF

  *注意的地方:web.config中加了上面的設(shè)置后,所有的WCF服務(wù)實(shí)現(xiàn)都要設(shè)置ASPNETCompatibilityRequirements屬性。

  3. 繼續(xù)在web.config增加設(shè)置,在system.serviceModel/serviceHostingEnvironment中增加serviceActivations,如下圖:

  舍WebService 用.<a href=/itjie/NETjishu/ target=_blank class=infotextkey>NET</a>4中jQuery調(diào)用WCF

  relativeAddress就是WCF服務(wù)的地址名,service就是之前創(chuàng)建的HelloService類(lèi)名,factory是關(guān)鍵,支持ajax調(diào)用,靠的就是System.ServiceModel.Activation.WebScriptServiceHostFactory。

  好了,三步搞定WCF端的配置。這時(shí)在VS2010啟動(dòng)項(xiàng)目,就可以在瀏覽器中訪問(wèn)這個(gè)WCF了,比如:http://localhost:3960/jQueryWcfDemo/HelloService.svc。如果出現(xiàn)下面的畫(huà)面,就表示W(wǎng)CF端工作正常。

  舍WebService 用.<a href=/itjie/NETjishu/ target=_blank class=infotextkey>NET</a>4中jQuery調(diào)用WCF

  4. jQuery調(diào)用WCF開(kāi)始了...代碼如下:

  舍WebService 用.<a href=/itjie/NETjishu/ target=_blank class=infotextkey>NET</a>4中jQuery調(diào)用WCF

  需要注意的地方是上圖中加背景的地方,contentType與data,與WebService的不同之處已在注釋中說(shuō)明。

  點(diǎn)擊提交按鈕,"Hello, World"...全面進(jìn)入WCF時(shí)代,見(jiàn)下圖:

  舍WebService 用.<a href=/itjie/NETjishu/ target=_blank class=infotextkey>NET</a>4中jQuery調(diào)用WCF

NET技術(shù)舍WebService 用.NET4中jQuery調(diào)用WCF,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线视频天堂 | 国产激情片 | 欧美午夜在线 | 久久精品国产乱子伦多人 | 日本大片免a费观看视频+播放器 | 91精品国产91热久久久久福利 | 狠狠色综合久久婷婷 | 久久久亚洲欧洲日产国码二区 | 一区二区三区在线播放 | 99爱在线精品视频免费观看9 | 美女黄视频免费 | 精品免费国产一区二区三区 | 国产精品露脸国语对白手机视频 | 亚洲一区 中文字幕 | 五月婷六月婷婷 | 亚洲视频在线一区二区 | 国产精品久久久久久久久鸭 | 玖玖爱视频在线 | 成人激情视频网站 | 91色视频在线观看 | 好吊在线视频 | 一级毛片一片毛 | 日本国产一区二区三区 | 又黄又爽的男女视频 | 日本一区二区三区中文字幕 | 精品久久久久久久久中文字幕 | 在线免费小视频 | 最新国产区 | 国产高清一区二区三区四区 | 久久综合综合久久 | 国产三级全黄 | 国产高清视频免费最新在线 | 337p欧美| 欧美另类videosbestsex久久 | 四虎影永久在线观看网址 | 九九九网站| 一道精品视频一区二区三区男同 | 激情6月丁香婷婷色综合 | 亚洲综合色就色手机在线观看 | 91aaa免费观看在线观看资源 | 国产在线视频一区 |