2009-08-06 64 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

相关问题