我正在尝试在同一端口上托管多个 WCF REST 服务。我启动了 Net.Tcp 端口共享服务,这是我的 app.config 文件:
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<services>
<service name="MyService">
<host>
<baseAddresses>
<add baseAddress="http://localhost/services/"/>
</baseAddresses>
</host>
<endpoint
address="test"
binding="webHttpBinding"
contract="IMyService"/>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior>
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<netTcpBinding>
<binding name="PortSharingEnabled" portSharingEnabled="true">
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
</configuration>
我仍然不能在同一个端口上托管两个服务。
当我尝试运行第二个服务时,我收到以下错误:http ://screencast.com/t/Vlakb26XbuQr 。 “本地计算机上的服务服务启动然后停止。如果某些服务没有被其他服务或程序使用,它们会自动停止”。
跟踪日志 ( http://screencast.com/t/tJ5Gvmy4Dgm7 ) 说: “HTTP 无法注册 URL http://+:7778/MyServiceName/。另一个应用程序已经使用HTTP.SYS注册了这个 URL 。”
编辑:
<services>
<service name="Service1">
<host>
<baseAddresses>
<add baseAddress="http://localhost:7778/"/>
</baseAddresses>
</host>
<endpoint
address="first"
binding="webHttpBinding"
contract="IService1"/>
</service>
<service name="Service2">
<host>
<baseAddresses>
<add baseAddress="http://localhost:7778/"/>
</baseAddresses>
</host>
<endpoint
address="second"
binding="webHttpBinding"
contract="IService2"/>
</service>
</services>
我想启用端口共享缺少一些东西?