小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

WCF學(xué)習(xí)筆記(2)——使用IIS承載WCF服務(wù)

 昵稱10504424 2013-01-31

WCF學(xué)習(xí)筆記(2)——使用IIS承載WCF服務(wù)

  通過前面的筆記我們知道WCF服務(wù)是不能獨(dú)立存在,必須“寄宿”于其他的應(yīng)用程序中,承載WCF服務(wù)的應(yīng)用程序我們稱之為“宿主”。WCF的多種可選宿主,其中比較常見的就是承載于IIS服務(wù)中,在這里我們來學(xué)習(xí)如何使用IIS承載WCF服務(wù)。

  在前面的筆記的示例中我們使用自己創(chuàng)建的控制臺應(yīng)用程序來承載WCF服務(wù),現(xiàn)在我們將使用IIS來作為這個(gè)示例程序的宿主。將IIS作為宿主只需要正確的配置好IIS就可以了,同時(shí)在IIS中運(yùn)行WCF服務(wù)不需要編寫任何承載代碼。

注意:

使用IIS( IIS 5.1 和 IIS 6.0)作為WCF服務(wù)的宿主有一個(gè)限制:只可以將 IIS 宿主與 HTTP 傳輸協(xié)議一起使用。

 

1.創(chuàng)建SVC文件和Web.config文件

    首先我們打開上一篇筆記中的的示例程序(點(diǎn)擊下載)解決方案,在Service項(xiàng)目下分別創(chuàng)建兩個(gè)文件:CalculatorService.svcWeb.config文件,如下:

  

 

2.添加System.ServiceModel程序集引用和更改程序生成目錄

   上一篇筆記中的示例代碼解決方案中Service項(xiàng)目并沒有引用System.ServiceModel程序集,所有在這里我們需要對其添加引用。同時(shí)由于我們的WCF服務(wù)部署到IIS上時(shí)就是作為一個(gè)Web應(yīng)用程序,而所有的Web應(yīng)用程序只會(huì)從根目錄下的bin子目錄中加載程序集,而我們Visual Studio 2010在默認(rèn)的情況下,編譯后程序集是存放在bin目錄下的Debug目錄或者Release目錄下的,所有我們需要將Service項(xiàng)目輸出更改到bin目錄去:

  

 

3.配置SVC文件

  每個(gè)WCF服務(wù)都有一個(gè)對應(yīng)的擴(kuò)展名為svc的文本文件,當(dāng)WCF服務(wù)的程序文件部署到IIS后,訪問WCF服務(wù)就是對相應(yīng)的svc文件進(jìn)行訪問。對于客戶端程序來說svc文件的地址就是服務(wù)終結(jié)點(diǎn)的地址,svc文件僅包含一個(gè)<%@ServiceHost %>指令和它一系列的可選屬性(點(diǎn)擊查看)。

  現(xiàn)在我們打開之前創(chuàng)建的CalculatorService.svc文件,添加下面的指令:

1 //Service是命名空間,CalculatorService是提供服務(wù)的類名
2 <%@ServiceHost Service="Service.CalculatorService"%>

 

4.配置Web.config文件

 通過上一篇筆記我們知道:WCF服務(wù)的所有通信是通過該服務(wù)的終結(jié)點(diǎn)進(jìn)行的。而終結(jié)點(diǎn)又是由地址、綁定、契約三者構(gòu)成的。前面的svc文件已經(jīng)聲明了終結(jié)點(diǎn)的地址,現(xiàn)在我們通過配置Web.config文件來聲明WCF服務(wù)的綁定和契約。

 手動(dòng)配置Web.config文件比較麻煩也容易出錯(cuò),我們可以通過使用Visual Studio 2010提供的配置工具類簡化這一過程,在Visual Studio 2010的菜單中選擇:工具——>WCF服務(wù)配置編輯器。

4.1 使用WCF服務(wù)配置編輯器打開創(chuàng)建的Web.config文件

  

 

4.2 使用WCF服務(wù)配置編輯器對Web.config文件進(jìn)行配置

1.>創(chuàng)建服務(wù)

選擇 新建服務(wù)——>瀏覽——>選擇Service項(xiàng)目生成的Service.dll文件(具體配置操作這里不再贅述)

  

 

2.>創(chuàng)建服務(wù)行為,并將行為和對應(yīng)服務(wù)綁定

  

  

  最后我們生成的Web.config配置文件如下所示:

復(fù)制代碼
 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3     <system.serviceModel>
 4         <behaviors>
 5             <serviceBehaviors>
 6                 <behavior name="metadataBehavior">
 7                     <serviceMetadata httpGetEnabled="true" />
 8                 </behavior>
 9             </serviceBehaviors>
10         </behaviors>
11         <services>
12             <service behaviorConfiguration="metadataBehavior" name="Service.CalculatorService">
13                 <endpoint address="" binding="wsHttpBinding" bindingConfiguration=""
14                     contract="ContractService.ICalculator" />
15             </service>
16         </services>
17     </system.serviceModel>
18 </configuration>
復(fù)制代碼

 

5.部署到IIS并設(shè)置ASP.NET對WCF服務(wù)目錄訪問權(quán)限

 

1.>在IIS中默認(rèn)網(wǎng)站中新建虛擬目錄,將別名命名為HelloWCF,并將其設(shè)置為應(yīng)用程序。

  

 

2.> 設(shè)置ASP.NET對WCF服務(wù)所在目錄訪問權(quán)限

  打開解決方案所在目錄,選中Service項(xiàng)目所在的文件夾,點(diǎn)擊鼠標(biāo)右鍵,然后選擇“安全”選項(xiàng)——>點(diǎn)擊“添加”——>點(diǎn)擊“高級”——>點(diǎn)擊“立即查找”,選擇”ASP.NET Machine Account“(Windows XP 中),點(diǎn)擊“確定”,保存設(shè)置就可以了。

  

如果是在Windows 7系統(tǒng)中則添加“IIS_IUSRS”賬戶,如下:

  

提示:如果文件屬性選項(xiàng)卡中沒有“安全”選擇時(shí)

  打開“我的電腦”——>選擇“工具”選項(xiàng)——>選擇“文件夾選項(xiàng)”,將“使用簡單的文件共享”選項(xiàng),不選中。

  

 

6.訪問部署在IIS上的WCF服務(wù)

   部署完成后,調(diào)用的步驟和前面筆記是一樣的,我們也可以直接從瀏覽器來訪問svc文件查看WCF服務(wù)是否部署成功,我們在瀏覽器中輸入:

http://localhost/HelloWCF/CalculatorService.svc,我們可以看到服務(wù)已經(jīng)成功啟動(dòng)了:

 

猛擊下載:示例源碼

參考資料&進(jìn)一步閱讀

承載服務(wù)

Internet 信息服務(wù)承載最佳實(shí)踐 

部署承載于 Internet 信息服務(wù)中的 WCF 服務(wù)

ServiceHost指令

《WCF全面解析》  

作者:晴天豬

出處:http://www.cnblogs.com/IPrograming 

本文版權(quán)歸作者和博客園共有,轉(zhuǎn)載請注明出處。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多