我收到了在单个Windows服务中动态托管多个WCF服务的请求。
要求如下:
我尝试用两种不同的方法解决问题:
我尝试了几种方法来实现第二种方法:
我错过了其他方法吗?无论如何要克服我提到的问题吗?
答案 0 :(得分:0)
如果我正确理解您的问题,那么一种方法是在单个服务类中实现多个合同接口。通过这样做,您应该能够从单个mex端点获取元数据。这是一个非常简单的例子:
[ServiceContract]
public interface IServiceContract1
{
[OperationContract]
bool DoStuff1();
}
[ServiceContract]
public interface IServiceContract2
{
[OperationContract]
bool DoStuff2();
}
public class ServiceContractImplementation: IServiceContract1, IServiceContract2
{
bool DoStuff1()
{
return true;
}
bool DoStuff2()
{
return true;
}
}
然后在web.config中(或在你的情况下的代码中):
<service name="ServiceImplementation">
<endpoint binding="basicHttpBinding" contract="IServiceContract1"/>
<endpoint binding="basicHttpBinding" contract="IServiceContract2"/>
<endpoint address="mex" contract="IMetadataExchange" />
</service>