是否可以在VS 2008开发服务器上使用netTcpBinding?
是否有可能有这样的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服务中?
谢谢你的见解!
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