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