相关疑难解决方法(0)

使用多个合同运行WCF ServiceHost

使用单个合同运行ServiceHost工作正常,如下所示:

servicehost = new ServiceHost(typeof(MyService1));
servicehost.AddServiceEndpoint(typeof(IMyService1), new NetTcpBinding(), "net.tcp://127.0.0.1:800/MyApp/MyService1");
servicehost.Open();
Run Code Online (Sandbox Code Playgroud)

现在我想添加第二个(第3个,第4个......)合同.我的第一个猜测就是添加更多端点,如下所示:

servicehost = new ServiceHost(typeof(MyService1));
servicehost.AddServiceEndpoint(typeof(IMyService1), new NetTcpBinding(), "net.tcp://127.0.0.1:800/MyApp/MyService1");
servicehost.AddServiceEndpoint(typeof(IMyService2), new NetTcpBinding(), "net.tcp://127.0.0.1:800/MyApp/MyService2");
servicehost.Open();
Run Code Online (Sandbox Code Playgroud)

但当然这不起作用,因为在ServiceHost的创建中我可以将MyService1作为参数或MyService2传递 - 所以我可以为我的服务添加很多端点,但所有必须使用相同的合同,因为我只能提供一个实现?
我觉得我在这里错过了重点.当然必须有一些方法来为我添加的每个端点合同提供实现吗?

wcf self-hosting

51
推荐指数
5
解决办法
5万
查看次数

标签 统计

self-hosting ×1

wcf ×1