我在VS2012中有两个项目的解决方案。一个是旧的ASMX Web服务项目,一个是名为Utils的DLL项目。
Web服务项目大量使用了Utils项目,并且想法是这个DLL也将被发送给客户端,因为它们也需要它的功能。
因此,Web Service项目中的WebMethod
如下所示:
using Utils;
[WebMethod]
[XmlType(Namespace = "http://url/invoice")]
public void CheckInvoice(CToken token) { ... }
因此,在此示例中,Web方法CheckInvoice
需要一个类CToken
的实例,该实例位于Utils
命名空间中。
但是当我生成Web Service的代理类时,暴露的方法CheckInvoice
需要CToken
命名空间而不是ServiceProxy
命名空间中的Utils
实例。
但客户端也有Utils
DLL。那么我如何强制生成代理来使用CToken
命名空间中的Utils
类而不是(默认)ServiceProxy命名空间?
-
当我添加Service Reference
时,我选中了 重新使用引用的程序集中的类型 复选框以及 重用所有引用的程序集中的类型 即可。但这没有任何区别。也许这仅适用于WCF Web服务?我正在寻找ASMX Web服务的解决方案。
任何人都知道如何解决这个问题?
答案 0 :(得分:2)
去过那里!我很想知道是否有一种方法可以像你描述的那样正确地做到这一点。但是,我找到了一种将新类型转换为所需类型的解决方法。在此处查看我的帖子作为建议的答案:Is it possible to convert an object to another object when both classes are identical?