[英]wcf self hosting multiple service
在我的項目中,我有兩個服務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>
我希望這兩個是單獨的服務,即具有tcp綁定和自托管功能的名為Service1和Service2的服務(而不是myservice)。任何代碼/幫助/建議都值得贊賞。
如果必須具有兩個單獨的服務-那么就需要兩個單獨的服務實現類以及兩個單獨的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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.