代码检查:单向操作不得返回值
此检查报告了 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月 27日