现在,我在一台计算机上有一个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经验,所以我可能在这里错误的轨道。
感谢。
答案 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();
通过Binding
和EndpointAddress
类的程序配置,您可以获得与配置文件相同的灵活性。
如需进一步帮助,请参阅: