JetBrains Rider 2025.2 Help

代码检查:单向操作不得返回值

此检查报告了 IsOneWay=true 契约在 System.ServiceModel.OperationContract 上下文中的违规情况。

IsOneWay=true契约在 Windows Communication Foundation (WCF) 中用于指示操作应以“触发即忘”的方式调用,这意味着客户端在调用操作后不会等待服务器的响应。

如果一个非 void 方法以这种方式注解,您将遇到可能表明错误的不一致性。

有两种方法可以解决此问题:

如果您的目的是从服务接收响应,请移除 IsOneWay=true 契约:

[OperationContract(IsOneWay=true)] public string GetString() { return "something"; }
[OperationContract] public string GetString() { return "something"; }

如果您打算保留单向操作行为且不需要返回值,请修改方法以返回 void

[OperationContract(IsOneWay=true)] public string GetString() { return "something"; }
[OperationContract(IsOneWay=true) public void GetString() { /*Do something*/ }
最后修改日期: 2025年 9月 26日