“Service_References"命名空间为WCF引用而出现

本文关键字:WCF 引用 命名空间 Service References quot | 更新日期: 2023-09-27 18:10:07

我有一个项目,它引用了我自己的5-7个WCF服务,我遇到了一个非常烦人的问题。

当我更新服务引用时,有时它们会创建额外的命名空间,但有时不会。

例如,我在MyMvcProject中添加对SomeWcfService的引用。它将自动生成一个命名空间

MyMvcProject.SomeWcfService.SomeDataContract

工作一小时后,我需要更新它。我点击更新引用和Visual Studio创建一个更新的代码…但是在命名空间

MyMvcProject.Service_Reference.SomeWcfService.SomeDataContract

你可以想象它有多烦人-所有using语句都中断了,我得到50多个编译错误,需要很多时间来修复。我已经找到了一个解决方案-一次又一次地更新引用,直到它创建一个必要的名称空间,但这不是一个解决方案。

为什么会发生?这应该是有原因的,不可能是随机的。怎么解呢?

“Service_References"命名空间为WCF引用而出现

我不知道是什么原因造成的,但一个解决方案是放弃所有的服务引用,只是通过运行时生成的代理从ChannelFactory<T>.CreateChannel();返回直接调用服务

我认为没有理由更喜欢使用系统生成的服务引用而不是这种方法,特别是当您说您拥有并控制所有服务时。

服务引用背后的代码生成是复杂和多变的,虽然最终是确定的,但肯定是不可预测的,并增加了另一层可能出错的东西到您的客户端应用程序。