多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > 如何實現IIS 7.0對非HTTP協議的支持

如何實現IIS 7.0對非HTTP協議的支持

來源:程序員人生   發布時間:2014-06-04 02:11:40 閱讀次數:2596次

在《再談IIS與ASP.NET管道》介紹各種版本的IIS的設計時,我們談到IIS 7.0因引入WAS提供了對非HTTP協議的支持。這個對于WCF的服務寄宿來說意義重大,它意味著我們通過IIS/WAS寄宿的服務終結點不僅僅可以采用BasicHttpBinding、WSHttpBinding/WS2007HttpBinding等基于HTTP協議的綁定,也可以采用NetTcpBinding、NetNamedPipeBinding和NetMsmqBinding。

在默認的情況下,IIS 7.0針對非HTTP支持的特性是關閉的。為了將一個IIS中的Web應用作為WCF服務的宿主,并采用非HTTP的通信協議,我們不但需要為Web應用所在的站點添加相應的站點綁定(net.tcp、net.pipe和net.msmq等),還需要為Web應用本身進行相應的設置使之允許相應的通信協議。我們可以通過三種方式實現相應的設置。

一、命令行設置

我們可以以命令行的方式執行Appcmd.exe來設置站點綁定和開啟某個Web應用針對某種協議的支持,該命令所在的目錄為%windir%system32inetsrv。如下所示的命令通過Appcmd.exe為默認站點(Default Web Site)添加了基于net.tcp、net.pipe和net.msmq的站點綁定,其中net.tcp綁定采用默認端口808。然后在該站點下創建了一個名稱為WcfServices的Web應用,映射的物理路徑是C:WcfServicesService。最后為創建的Web應用同時開啟了針對http、net.tcp、net.pipe和net.msmq四種協議的支持。

1: REM 為站點” Default Web Site”添加針對net.tcp,net.pipe和net.msmq站點綁定
2: appcmd.exe set site "Default Web Site" –+bindings.[protocol='net.tcp',bindingInformation='808:*']
3: appcmd.exe set site "Default Web Site" –+bindings.[protocol='net.pipe',bindingInformation='*']
4: appcmd.exe set site "Default Web Site" –+bindings.[protocol='net.msmq',bindingInformation='localhost']
5: 
6: REM 創建Web應用WcfServices
7: appcmd add app /site.name:"Default Web Site" /path:/WcfServices /physicalpath:C:WcfServicesService
8: 
9: REM 為WcfServices應用開啟對http、net.tcp、net.pipe和net.msmq的支持
10: appcmd.exe set app "Default Web Site/WcfServices" /enabledProtocols:http,net.pipe,net.tcp,net.msmq

二、配置文件設置

所有方式的設置都體現在對相應配置文件的修改。IIS 7.0中用于控制站點綁定和Web應用針對某個協議的支持的配置文件為applicationHost.config,該配置文件保存的目錄為%windir%system32inetsrvconfig。我們可以直接修改這個配置文件來完成我們需要的設置。

存在于applicationHost.config中的如下這段配置就是上面的命令行執行的結果。三個新增的站點綁定被添加到了表示站點配置節的<bindings>節點中,而表示我們創建的Web應用的<application>節點的enabledProtocols屬性中包含了我們通過命令行設置的四種協議。

1: <configuration>
2: ...
3: <system.applicationHost>
4: ...
5: <sites>
6: ...
7: <site name="Default Web Site" id="1" serverAutoStart="true">
8: ...
9: <application path="/WcfServices" enabledProtocols="http,net.pipe,net.tcp,net.msmq">
10: <virtualDirectory path="/" physicalPath="C:WcfServicesService" />
11: </application>
12: <bindings>
13: <binding protocol="http" bindingInformation="*:80:" />
14: <binding protocol="net.tcp" bindingInformation="808:*" />
15: <binding protocol="net.pipe" bindingInformation="*" />
16: <binding protocol="net.msmq" bindingInformation="localhost" />
17: </bindings>
18: </site>
19: </sites>
20: </system.applicationHost>
21: </configuration>

三、IIS管理器設置

IIS管理器本身提供了可視化的方式是我們很容易地實現對站點綁定的添加、刪除和修改。如圖7-11所示,如果我們在IIS管理器中選擇相應的站點,在右邊“編輯網站”一欄會出現一個“綁定…”按鈕。點擊該按鈕會出現一個“網站綁定”的對話框,當前站點的所有綁定會在這個對話框中列表。我們可以編輯和刪除現有的站點綁定,也可以添加新的站點綁定。IIS管理器只提供了針對站點綁定的設置,為站點中具體某個Web應用開啟或者關閉某種協議的支持還得需要通過上面兩種方式來完成。

clip_image002

為作為WCF服務宿主的Web應用和它所在的站點進行了如上的設置之后,我們就可以直接將基于HTTP的終結點綁定直接替換成基于其他協議類型的綁定。下面配置片斷所示的客戶端終結點采用了NetTcpBinding,而地址代表部署在宿主Web應用的.svc文件地址。

1: <configuration>
2: <system.serviceModel>
3: <client>
4: <endpoint name="calculatorservice"
5: address="net.tcp://localhost/WcfServices/CalculatorService.svc"
6: binding="netTcpBinding"
7: contract="Artech.WcfServices.Service.Interface.ICalculator"/>
8: </client>
9: </system.serviceModel>
10: </configuration>

作者:Artech

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日本xxxxx久色视频在线观看 | 国产淫视频 | 国产精品免费αv视频 | 亚洲欧美精品久久 | 久久综合精品不卡一区二区 | 国产一区二区三区免费看 | 国产成+人+综合+亚洲 欧美 | 国产美女亚洲精品久久久久久 | 成人欧美视频在线观看播放 | 亚洲一区色 | jizzjizz视频 | 国产成人小视频在线观看 | 中文字幕一区二区三区在线播放 | 亚洲精品国产自在久久老牛 | 国产亚洲免费观看 | 国产人做人爱视频精品 | 国产日韩欧美亚洲综合在线 | 亚洲精品视频网 | 国产精品成人观看视频网站 | 欧美亚洲国产精品久久蜜芽 | 国产专区在线视频 | jizzzz日本| 亚洲欧美成人综合在线 | 欧美日韩国产手机在线观看视频 | 亚洲淫欲 | 国产成人免费a在线视频色戒 | 亚洲97| 男人午夜 | 国产亚洲美女精品久久久久 | 国产精品99久久久久久www | 免费网站看v片在线观看 | xxxx hd极品 | 欧美成人看片一区二区三区尤物 | 亚洲国产情侣一区二区三区 | 亚洲欧美日韩在线 | 国产在线乱码在线视频 | 高清视频在线播放ww | 欧美精品一国产成人性影视 | 亚洲国产一区二区三区精品 | 欧美国产成人精品一区二区三区 | 依人在线视频 |