“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多个编译错误,需要很多时间来修复。我已经找到了一个解决方案-一次又一次地更新引用,直到它创建一个必要的名称空间,但这不是一个解决方案。
为什么会发生?这应该是有原因的,不可能是随机的。怎么解呢?
我不知道是什么原因造成的,但一个解决方案是放弃所有的服务引用,只是通过运行时生成的代理从ChannelFactory<T>.CreateChannel();
返回直接调用服务
我认为没有理由更喜欢使用系统生成的服务引用而不是这种方法,特别是当您说您拥有并控制所有服务时。
服务引用背后的代码生成是复杂和多变的,虽然最终是确定的,但肯定是不可预测的,并增加了另一层可能出错的东西到您的客户端应用程序。