外部服务操作合约WCF代码生成控制方式

Way to control WCF code generation for operation contracts for external service

我从 .NET Framework 库项目中引用了外部 SOAP 服务。在 Visual Studio 2019 (16.11.5) 更新服务参考后,它开始生成 OperationContract 属性 IsOneWay=true.

[System.ServiceModel.OperationContractAttribute
(IsOneWay=true, Action="http://sap.com/xi/WebService/soap1.1")]

我没有注意到相关的 WSDL 更改,只有几个新字段。回滚到旧的 WSDL - 还是一样。

有没有办法通过配置文件或svcutil控制OperationContractAttribute的生成?

应根据服务更改:
使用单向设计模式:

  • 当客户端必须调用操作且不受 操作级别的操作结果。
  • 使用 NetMsmqBinding 或 MsmqIntegrationBinding 时 class。 (有关此方案的详细信息,请参阅 WCF 中的队列。)

One-Way Services
OperationContractAttribute Class