在.NET核心中,根据WSDL生成客户端类,我们使用VS的“添加连接的服务”或svcutil.exe。
在.NET框架中,我们将使用wsdl.exe来做到这一点。
新方法会生成这种方法(错误-标头是参数):
createAsync(SessionHeader SessionHeader, AssignmentRuleHeader AssignmentRuleHeader, MruHeader MruHeader, AllowFieldTruncationHeader AllowFieldTruncationHeader, DisableFeedTrackingHeader DisableFeedTrackingHeader, StreamingEnabledHeader StreamingEnabledHeader, AllOrNoneHeader AllOrNoneHeader, DuplicateRuleHeader DuplicateRuleHeader, LocaleOptions LocaleOptions, DebuggingHeader DebuggingHeader, PackageVersion[] PackageVersionHeader, EmailHeader EmailHeader, sObject[] sObjects)
-或-
createRequest类的重载,将所有上述标头定义为属性(由于没有请求继承,因此不理想)。
“旧” wsdl.exe会生成:
create(sObject[] sObjects)
...所有标头都是客户端类的属性(好)。
是否可以将svcutil.exe配置为做得更好?
这是一个错误(或WCF功能)吗?
是否有一种很好的方法来处理这个问题(WSDL很大,并且生成的客户端类长300K +行)?