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

本文关键字:文件 svc 单个 引用 web 应用程序 添加 我们 | 更新日期: 2023-09-27 18:14:06

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

一切都很好,我得到的结果也是我所期望的,我唯一有疑问的是,在添加服务引用后,它添加了一些绑定设置到web。配置文件。因此,当我每次添加多个.svc文件的引用时,绑定设置将继续增加,问题是,如果我想删除或添加任何引用,如果它们增加,管理这些绑定将是一个问题。

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

是否有任何方法可以让我在客户端应用程序中添加完整服务层的单个引用?

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

我真的不明白你增加绑定的意思,但我建议你创建一个新的类库,其中包含对所有相关服务的服务引用(WCF代理)。

然后从任何需要访问服务的项目中,添加对这个新类库的引用,并在消费应用程序的配置中配置服务。

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

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

如果要删除引用,只需在解决方案资源管理器中右键单击该引用并选择delete。端点和绑定将被自动删除。

只有未使用的绑定才会被删除:所以如果你的绑定被多个端点使用,你可以安全地删除相关的引用。该绑定将保留,除非不再需要。