我能否以编程方式连接到我的 Web 服务中的不同 WCF 端点?
Can I programmatically connect to a different WCF endpoint in my web service?
现在,我在一台机器上有一个 WCF Web 服务,该服务连接到另一台机器上的 WCF windows 服务,该服务执行所有数据处理。 Web 服务直接引用 windows 服务,所有配置信息都在 Web 和 app.config 文件中设置。
为了使其具有可扩展性,我希望 Web 服务能够连接到不同计算机上的多个 WCF windows 服务。例如,客户端 1 到 3 将在一个 windows service/machine 上处理所有数据处理,而客户端 4 到 6 将在单独的 windows service/machine.
我正在考虑这样实现;有一个 SQL 数据库将 WCF 端点存储到 clientID,Web 服务接收 clientID 并在 return 中获取 WCF 端点,然后 Web 服务连接到特定的 windows 服务使用该 WCF 端点。
这可行吗,或者有更好的方法来处理这个问题吗?我没有太多 WCF 经验,所以我可能走错了路。
谢谢。
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
类 进行程序配置,您可以获得与配置文件相同的灵活性。
如需进一步帮助,请参阅:
现在,我在一台机器上有一个 WCF Web 服务,该服务连接到另一台机器上的 WCF windows 服务,该服务执行所有数据处理。 Web 服务直接引用 windows 服务,所有配置信息都在 Web 和 app.config 文件中设置。
为了使其具有可扩展性,我希望 Web 服务能够连接到不同计算机上的多个 WCF windows 服务。例如,客户端 1 到 3 将在一个 windows service/machine 上处理所有数据处理,而客户端 4 到 6 将在单独的 windows service/machine.
我正在考虑这样实现;有一个 SQL 数据库将 WCF 端点存储到 clientID,Web 服务接收 clientID 并在 return 中获取 WCF 端点,然后 Web 服务连接到特定的 windows 服务使用该 WCF 端点。
这可行吗,或者有更好的方法来处理这个问题吗?我没有太多 WCF 经验,所以我可能走错了路。
谢谢。
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
类 进行程序配置,您可以获得与配置文件相同的灵活性。
如需进一步帮助,请参阅: