1

我有一个服务,它以编程方式创建相同接口但在不同范围内的两个 net-tcp 端点(它们在引擎盖下做不同的事情)。通常,当服务按预期运行时,客户端服务根据每个点的范围正确发现这两个点是没有问题的。但是,由于发现不能跨子网工作,所以在测试时,我通常会在我的 app.config 中添加手动配置,以使我的应用能够成功注册端点,即使发现失败(确实如此)。现在如何配置我的 app.config 以便它适用于我的新端点?

<?xml  version="1.0"?>
<configuration>
    <system.serviceModel>
        <client>
            <endpoint
                address="net.tcp://myserver:2170/"
                binding="netTcpBinding"
                contract="IMyServiceInterface"
                name="Service1"/>
            <endpoint
                address="net.tcp://myserver:2173/"
                binding="netTcpBinding"
                contract="IMyServiceInterface"
                name="Service2"/>
        </client>
    </system.serviceModel>
</configuration>
4

2 回答 2

0

如果您尝试使用此构造函数动态创建服务客户端怎么办

public ServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) 

并手动推送不同的设置。

于 2013-01-24T16:43:54.300 回答
0

不知道你的问题到底是什么。我不明白你为什么要在客户端查看接口,因为行为应该在服务器上定义。根据我的理解,您只需要生成一次客户端类(它由 VS 自动完成)并像这样使用它的构造函数:

var remoteAddr = "net.tcp://myserver:2173/";
var client = new MyClient("*",remoteAddr);

在您的 app.config 中只有一个配置,指向某个默认服务器。

于 2013-01-31T02:27:40.557 回答