2009-08-06 104 views
4

是否有可能有這樣的WCF服務配置:是否可以在VS 2008開發服務器上使用netTcpBinding?

<service behaviorConfiguration="WcfService1.Service1Behavior" 
    name="WcfService1.Service1"> 
    <endpoint address="" binding="netTcpBinding" bindingConfiguration="" 
     contract="WcfService1.IService1"> 
    </endpoint> 
    <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" 
     contract="IMetadataExchange" /> 
    <host> 
     <baseAddresses> 
     <add baseAddress="net.tcp://localhost/netTcpService" /> 
     </baseAddresses> 
    </host> 
    </service> 

而且有它託管隨Visual Studio 2008中的ASP.NET開發服務器上,或者我一定要主辦IIS服務7還是將其託管在託管應用程序/ Windows服務中?

謝謝你的見解!

回答

11

IIS6和內置的卡西尼Web服務器都只支持http,對不起。

您必須自行託管您的服務。一個控制檯應用程序,或者將其託管在IIS7中以便使用NetTCP。

VS2008 SP1還附帶了一個WCF測試主機應用程序,可用於這些目的,它也支持NetTCP和所有其他協議。

它叫做WcfSvcHost.exe,應該在您的C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE目錄中找到。您可以指定一個包含您的服務實現和配置文件的DLL,它將加載您的服務併爲您提供託管服務。

爲WcfSvcHost MSDN文檔是在這裏:
http://msdn.microsoft.com/en-us/library/bb552363.aspx

下面是它會看起來像在您的環境:

alt text http://i28.tinypic.com/2eyw0h2.png

,這裏是連接到該WcfTestClient.exe託管服務 - 注意netTcp端點:

alt text http://i32.tinypic.com/3505do1.png

要設置它在Visual Studio中,使用WCF服務庫項目的「屬性」選項卡,並選擇推出WcfSvcHost.exe的外部程序,並提供了正確的命令行參數如下:

alt text http://i28.tinypic.com/104p0jk.png

現在,如果按F5運行包含WCF服務的類庫,它將啓動測試主機並將服務庫託管在那裏,準備好進行測試。

Marc

相關問題