コードインスペクション: 一方向の操作は戻り値を返してはいけません
このインスペクションは、 System.ServiceModel.OperationContract コンテキストにおける IsOneWay=true 契約の違反を報告します。
IsOneWay=true コントラクトは、Windows Communication Foundation(WCF)で、操作を発火後は反応を待たずに実行することを示します。つまり、クライアントは操作を呼び出した後、サーバーからの応答を待ちません。
非 void メソッドにこの方法でアノテーションが付けられている場合、エラーを示す可能性のある不整合が発生します。
これを修正するには 2 つの方法があります。
インテンションがサービスから応答を受信する場合は、 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*/
}
2026 年 7 月 16 日