【问题标题】:wcf self hosting multiple servicewcf 自托管多服务
【发布时间】:2013-12-23 19:32:49
【问题描述】:

在我的项目中,我有两个服务 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 绑定和自托管。感谢任何代码/帮助/建议。

【问题讨论】:

  • like Service1:Iservice1 ... Service2:IService2 ServiceHost serviceHost1 = new ServiceHost(typeof(Service1)); ServiceHost serviceHost2 = new ServiceHost(typeof(Service2)); ServiceHost1.Open();ServiceHost2.Open();...配置设置呢???

标签: c# visual-studio-2010 wcf hosting self-hosting


【解决方案1】:

如果您必须拥有两个独立的服务 - 那么您需要两个独立的服务实现类以及两个独立的 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 2012-09-06
    • 2013-06-09
    相关资源
    最近更新 更多