我可以以编程方式连接到我的Web服务中的其他WCF端点吗?

时间:2016-12-22 16:59:44

标签: .net web-services wcf

现在,我在一台计算机上有一个WCF Web服务,该计算机连接到另一台执行所有数据处理的计算机上的WCF Windows服务。 Web服务直接引用Windows服务,所有配置信息都在web和app.config文件中设置。

为了实现这种可扩展性,我希望Web服务能够在不同的机器上连接到多个WCF窗口服务。例如,客户端1到3将在一个Windows服务/机器上处理所有数据处理,而客户端4到6将在单独的Windows服务/机器上处理它们。

我正在考虑像这样实施它;有一个SQL数据库将WCF端点存储到clientID,Web服务接收clientID并获得WCF端点作为回报,然后Web服务连接到具有该WCF端点的特定Windows服务。

这是可行的,还是有更好的方法来解决这个问题?我没有太多的WCF经验,所以我可能在这里错误的轨道。

感谢。

1 个答案:

答案 0 :(得分:1)

WCF支持管理客户端配置(通过配置文件)和编程客户端配置。你需要第二个。

以下是程序化配置的示例:

Binding wsBinding = new WSHttpBinding();
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:8000/SomeService");
SomeServiceClient proxy = new SomeServiceClient(wsBinding, endpointAddress);

proxy.SomeMethod();

proxy.Close();

通过BindingEndpointAddress类的程序配置,您可以获得与配置文件相同的灵活性。

如需进一步帮助,请参阅:

Binding Class

EndpointAddress Class

ClientBase Class