C# wcf自托管多服务

C# wcf自托管多服务,c#,visual-studio-2010,wcf,hosting,self-hosting,C#,Visual Studio 2010,Wcf,Hosting,Self Hosting,在我的项目中,我有两个服务Service1和Service2(即服务合同)。我希望这两个服务使用控制台自托管。为此,我使用名为“myservice”的服务,并实现两个接口,即IService1和IService2 public class myservice : IService1,IService2 ... .... ServiceHost serviceHost = new ServiceHost(typeof(myservice)); serviceHost.Open(); 使用的端

在我的项目中,我有两个服务Service1和Service2(即服务合同)。我希望这两个服务使用控制台自托管。为此,我使用名为“myservice”的服务,并实现两个接口,即IService1和IService2

public class myservice : IService1,IService2
...
....


ServiceHost serviceHost = new ServiceHost(typeof(myservice));
serviceHost.Open();
使用的端点:

 <service behaviorConfiguration="myBehavior" name="myservice">
    <endpoint address="sa1" binding="netTcpBinding" contract="IService1"/>
    <endpoint address="sa2" binding="netTcpBinding" contract="IService2"/>
  <host>
    <baseAddresses>
      <add baseAddress="net.tcp://localhost:8001/" />
    </baseAddresses>
  </host>
</service>


我希望这两个是独立的服务,即名为Service1和Service2的服务(而不是myservice)使用tcp绑定和自托管。欢迎提供任何代码/帮助/建议。

如果您必须拥有两个独立的服务,那么您需要两个独立的服务实现类和两个独立的
ServiceHost
实例:

public class Service1 : IService1
{
  ...
}

public class Service2 : IService2
{
  ...
}


ServiceHost serviceHost1 = new ServiceHost(typeof(Service1));
serviceHost1.Open();

ServiceHost serviceHost2 = new ServiceHost(typeof(Service2));
serviceHost2.Open();
端点配置:

<service name="YourNamespace.Service1" behaviorConfiguration="myBehavior" >
    <endpoint address="sa1" binding="netTcpBinding" contract="IService1" />
    <host>
       <baseAddresses>
         <add baseAddress="net.tcp://localhost:8001/" />
       </baseAddresses>
    </host>
</service>
<service name="YourNamespace.Service2" behaviorConfiguration="myBehavior" >
    <endpoint address="sa2" binding="netTcpBinding" contract="IService2" />
    <host>
       <baseAddresses>
         <add baseAddress="net.tcp://localhost:8002/" />
       </baseAddresses>
    </host>
</service>

像服务1:Iservice1。。。Service2:IService2 ServiceHost serviceHost1=新的ServiceHost(类型为(Service1));ServiceHost serviceHost2=新的ServiceHost(类型为(Service2));ServiceHost1.Open();ServiceHost2.Open();。。。配置设置呢???