我们可以在Web应用程序中添加对多个.svc文件的单一引用

时间:2013-05-16 10:35:21

标签: c# asp.net wcf

我创建了一个wcf应用程序并将其托管在我的Web服务器上,然后我将此应用程序的服务引用添加到我的客户端应用程序中。

一切正常,我得到的结果也如我所料,我唯一怀疑的是,在添加服务引用后,它会将一些绑定设置添加到web.config文件中。因此,每当绑定设置将继续增加时,我将添加多个.svc文件的引用,关键在于,如果我想删除或添加任何引用(如果它们增加),它们将成为管理这些绑定的问题。

另一点是,如果我想为我的项目创建一个wcf服务层,那么我将不得不将所有类的引用添加到我的客户端应用程序中,因此我的web.config文件中的绑定将继续增加

他们是否可以将我的完整服务层的单个引用添加到我的客户端应用程序中?

2 个答案:

答案 0 :(得分:0)

我不是通过增加绑定来得到你的意思,但我建议你创建一个包含所有相关服务的服务引用(WCF代理)的新类库。

然后,从您访问服务所需的任何项目中,添加对此新类库的引用,并在使用应用程序的配置中配置服务。

您也可以轻松地将一个绑定配置应用于多个绑定,如果这就是您所追求的。

答案 1 :(得分:0)

添加新服务引用时,以下元素将自动添加到您的web.config中:

  • 端点( configuration / system.serviceModel / client / endpoint )。这标识了服务所在的 。每个服务都需要一个,因此不能选择在多个引用之间共享一个端点。
  • 绑定(配置/ system.serviceModel / bindings / binding )。这告诉端点 如何连接到服务。多个服务引用可以使用相同的绑定,但显然绑定的更改将影响两个端点。默认情况下,您可能会发现绑定类型为basicHttpBinding。要更改端点以使用现有绑定,只需更新端点的bindingConfiguration属性并删除不再需要的绑定。

如果要删除引用,只需右键单击解决方案资源管理器中的引用,然后选择“删除”。将自动删除端点和绑定。

仅删除未使用的绑定:因此,如果多个端点使用绑定,则可以安全地删除关联的引用。除非不再需要,否则绑定将保留。