[英]wsdl.exe/svcutil.exe - is there a way not to generate the classes for types in the xsds during a Web service or client generation
我们有一个集中管理的对象模型,用于C#中的模式中的类型。 我们希望整个企业中的每个人都使用该对象模型,而不是在web服务客户端或服务实现期间使用每次从wsdl / svcutil生成的对象模型。
wsdl / svcutil是否有一个参数(任何其他方式)在执行期间不为模式类型生成类?
我相信你要找的是: svcutil.exe /r your-dtos.dll
/ reference: - 指定程序集中的引用类型。 生成客户端时,使用此选项指定可能包含表示要导入的元数据的类型的程序集。 (简称:/ r)
在我看来,WCF代理,端点通道,服务操作和dto有效负载紧密耦合到同一个生成的客户端代理是一个主要的设计缺陷。
这就是我在开放式Web服务框架中解决的问题,在这个框架中 ,我解耦了端点和有效负载,它允许:
在我的公司,我们已经开发了数百个由多个不同客户端调用的Web服务,即Ajax,Flash / ActionScript,C ++,Silverlight,ASP.NET,并且能够通过不同的端点调用相同的Web服务,为我们节省了无数个小时。
如果从服务配置文件中删除mex端点,则客户端应用程序将无法发现并生成代理对象。
如果我正确理解您的问题,处理这种情况的方法是执行以下操作:
在这种方法中,您根本不使用wsdl.exe / svcutil.exe,因为您基本上绕过了wsdl。 由于您手动管理连接,因此不添加服务引用。
编辑:按照这种方法,客户端仍然可以尝试通过wsdl.exe / svcutil.exe生成代理对象,但他们无法从wsdl获取正确的信息。 它们本质上会生成一个不起作用/不完整的代理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.