WCF共享端口正確開啟方法介紹
在WCF中,其端口的應用是一個非常重要的應用技術。在這里我們會通過對WCF共享端口的相關內容介紹,為大家詳細講解一下這方面的一些應用技巧,以方便初學者在實際應用中能獲得一些幫助。#t#
在 一般的網絡環(huán)境中,盡可能避免網絡攻擊,都會通過防火墻將絕大部分的端口封掉,僅僅保留那些常用的網絡服務所用的端口,或者為某一個類應用保留少量的端 口。IIS 使用HTTP.SYS實現(xiàn)了對80端口的共享使用,所以我們可以在IIS上部署多個應用程序。那么我們在主機上部署多個TCP的WCF服務,只有有限開放 端口的時候怎么辦呢,答案就是啟用NET.TCP的端口共享服務。通過端口共享服務,WCF就可以使用同一個端口部署多個服務:
啟用WCF共享端口服務只需要三個步驟:
啟用 NET.TCP Port 共享服務(默認是禁用的)
WCF 服務采用TCP 協(xié)議
設置 PortSharingEnabled 屬性為 true
第一步. 啟用 NET.TCP WCF共享端口服務
通過“開始”-〉“控制面板”-〉“管理工具”-〉服務,打開如下圖所示的“服務對話框”,然后定位到Net.TCP Port Sharing Service。
第二步:在WCF服務中使用TCP 協(xié)議
在基于TCP的WCF通信中,我們使用NetTcpBinding處理通信的所有細節(jié),這些細節(jié)中也包括WCF共享端口。
第三步:設置 PortSharingEnabled 屬性為 true
在NetTcpBinding中,定義了一個特殊的屬性,PortSharingEnabled,表明是否啟動端口共享機制。
你可以通過通過配置的方式來指定NetTcpBinding的PortSharingEnabled屬性:
- < bindings>
- < netTcpBinding>
- < binding name="PortBinding" portSharingEnabled="true" />
- < /netTcpBinding>
- < /bindings>
也可以通過代碼方式配置綁定啟用
- NetTcpBinding binding = new NetTcpBinding();
- binding.PortSharingEnabled = true;
該綁定隱式允許外部進程(即承載 Net.TCP WCF共享端口服務的 SMSvcHost.exe)代表它來管理 TCP 套接字。