首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自app.config文件的客户端应用程序中的foreach合同

来自app.config文件的客户端应用程序中的foreach合同
EN

Stack Overflow用户
提问于 2011-12-20 18:27:55
回答 3查看 186关注 0票数 2

我有一个问题:如何在客户端应用程序中使用"foreach“服务的名称空间?

因此,我的服务中有web.config文件。这里是客户端部分:

代码语言:javascript
复制
<client>
      <endpoint address="http://nail:81/raj/Service1.svc" binding="basicHttpBinding"
        bindingConfiguration="BasicHttpBinding_IService1" contract="ServiceReference1.IService1"
        name="BasicHttpBinding_IService1" />
      <endpoint address="http://www.xxx.ru:81/upd/Service1.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService11"
        contract="ServiceReference2.IService1" name="BasicHttpBinding_IService11" />
    </client>

在我的客户端应用程序中,我是这样使用它的:

代码语言:javascript
复制
updater.ServiceReference1.Service1Client myclient = new updater.ServiceReference1.Service1Client();

问题:在未来,我将在web.config中有超过50个引用(在我的服务上)。我不想像这样写50行代码。

非常感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-21 18:46:18

真的,我不需要50个对象中的50个服务引用。在App.config的client部分中,我可以这样写:

代码语言:javascript
复制
endpoint address="" 

在我的客户代码中,我写道:

代码语言:javascript
复制
EndpointAddress endp = new EndpointAddress("some_ip_adress");
                            myclient.Endpoint.Address = endp;

就这样。

感谢Matías Fidemraizer的建议!

票数 1
EN

Stack Overflow用户

发布于 2011-12-20 19:36:18

回答你的一个评论(当然还有你的问题):

i有一个客户端应用程序和50台带有50个服务的计算机。所有这些服务都连接到我的计算机上。如果我想全部使用它们,我必须创建50个客户端对象。但是我想使用类似'foreach‘的东西来创建客户端的对象,并使用它们。也许还有其他方法?

老实说,与“在你想要调用服务操作的地方创建一个变量,创建某个服务客户端的实例”相比,我没有发现实例化50次服务客户端并让这些对象使用它们有什么优势。

实际上,你的内存中将有50个对象,这是为了什么?这是对内存的浪费,毕竟你的目标在某种程度上是无用的。

这就像在说,我的业务层中有50个业务经理,我想预加载他们……但是等等,为什么我不在代码需要的时候分别实例化每个人呢?

也许我完全误解了你的目标,但似乎你想让你的场景变得过于复杂,以达到同样的目的。

票数 2
EN

Stack Overflow用户

发布于 2011-12-20 18:34:20

配置中包含的是服务和端点的配置,而不是您要实例化的配置。

您将实例化updater.ServiceReference1.Service1Client,它是由WSDL工具生成的代理类。使其动态化的唯一方法是使用反射来加载该命名空间中的类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8574014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档