是否可以将netTcpBinding与VS 2008开发服务器一起使用?

问题描述 投票:4回答:1

是否可以像这样拥有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 Studio 2008附带的ASP.NET开发服务器上,或者我是否必须在IIS 7中托管服务或在托管应用程序/ Windows服务中自托管它?

感谢您的见解!

wcf nettcpbinding net.tcp
1个回答
11
投票

IIS6和内置的Cassini 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

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

alt text

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

alt text

现在,如果您按F5运行包含WCF服务的类库,它将启动测试主机并在那里托管您的服务库,准备进行测试。

© www.soinside.com 2019 - 2024. All rights reserved.