C# 具有多个服务契约发现的WCF单端点

C# 具有多个服务契约发现的WCF单端点,c#,wcf,service-discovery,C#,Wcf,Service Discovery,我使用单端点和多个服务契约。例如: 在接口组件中: public interface IServer1 { ... } public interface IServer2 { ... } internal interface IServer : IServer1, IServer2 {} internal class Server : IServer { ... var host = new ServiceHost(this); host.AddServiceEnd

我使用单端点和多个服务契约。例如:

在接口组件中:

public interface IServer1 { ... }

public interface IServer2 { ... }
internal interface IServer : IServer1, IServer2 {}

internal class Server : IServer
{
    ...
    var host = new ServiceHost(this);
    host.AddServiceEndpoint(typeof(IServer), ...);
    host.Description.Behaviors.Add(new ServiceDiscoveryBehavior());
    host.AddServiceEndpoint(new UdpDiscoveryEndpoint());
    ...
}
在服务器程序集中:

public interface IServer1 { ... }

public interface IServer2 { ... }
internal interface IServer : IServer1, IServer2 {}

internal class Server : IServer
{
    ...
    var host = new ServiceHost(this);
    host.AddServiceEndpoint(typeof(IServer), ...);
    host.Description.Behaviors.Add(new ServiceDiscoveryBehavior());
    host.AddServiceEndpoint(new UdpDiscoveryEndpoint());
    ...
}
在客户端程序集中:

internal class Client1
{
    ...
    var factory = new ChannelFactory<IServer1>(...);
    ...
}

internal class Client2
{
    ...
    var factory = new ChannelFactory<IServer2>(...);
    ...
}
有没有办法在不公开IServer的情况下发现IServer1和IServer2