是否可以有如下的WCF服务配置:
<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 Studio2008附带的ASP.NET开发服务器上,或者我是否必须在IIS7中托管该服务,或者在托管应用程序/Windows服务中自托管它?
感谢您的见解!
发布于 2009-08-06 07:33:03
IIS6和内置的Cassini web服务器都只支持http,抱歉。
为了使用NetTCP,你要么必须在控制台应用中自托管你的服务,要么在IIS7中托管它。
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
下面是它在您的环境中的样子:

下面是连接到该托管服务的WcfTestClient.exe -请注意netTcp端点:

要在Visual Studio中设置它,请使用WCF服务库项目的"Properties“选项卡,选择将WcfSvcHost.exe作为外部程序启动,并提供正确的命令行参数,如下所示:

现在,如果您按F5来运行包含您的WCF服务的类库,它将启动测试主机并在其中托管您的服务库,为测试做好准备。
Marc
https://stackoverflow.com/questions/1237370
复制相似问题