c# - 从多个托管服务器调用相同的 WCF 服务

标签 c# wcf

我对如何完成这项任务有点困惑。问题是,如何从多个托管服务器调用 WCF 服务。所有托管应用程序的 WCF 都是相同的。相同的契约(Contract)、相同的绑定(bind)类型等。我尝试以这种方式调用它,因为我将在多个服务器中托管服务,并且我需要该服务在所有服务器中执行相同的操作。我必须从一位客户那里调用它。 VS 2010、.Net Framework 4.0.、C#。

谢谢

最佳答案

这取决于您计划如何在客户端应用程序中创建服务代理。如果您想添加服务引用,只需从一台服务器添加它,然后为其他服务器创建单独的端点配置 - 除了地址之外,所有端点配置都将完全相同(您可以在代码中执行相同的操作)。当您调用服务时,您将为每个服务器创建代理实例,并且您将为每个服务器传递端点名称(在配置中定义),例如:

 foreach(var endpointName in myStoredEndpointNames)
 {
   var proxy = new MyServiceProxy(endpointName);
   proxy.CallSomeOperation();
 }

另一种方法是不使用添加服务引用。在这种情况下,您必须在服务器和客户端应用程序之间共享契约(Contract),您可以使用 ChannelFactory 。此类是通过调用 CreateChannel 创建的客户端代理的工厂。您可以传递端点配置名称 endpoint addressbinding and endpoint address调用该方法时。

关于c# - 从多个托管服务器调用相同的 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009341/

相关文章:

c# - 在 C# 项目中导入 C++ dll

c# - 如何从街道地址获取坐标

c# - 模拟任何给定类型参数的泛型方法调用

xml - 将 xml 从一个文件夹移动到另一个文件夹时出错。字母之间为空

.net - 带有 WCF 的 JSON-P 示例?

c# - 如何避免替换 "_x0020_"的空间?

c# - WPF:应用程序空闲时间

c# - 将数据库图像显示到 stimulreport 中

wcf - WCF ClaimsAuthenticationManager 中的依赖注入(inject)

wcf - 自托管 WCF 服务主机/WebServiceHost 并发/性能设计选项 (.NET 3.5)