ReSharper 2026.2 Help

コードインスペクション: 一方向の操作は戻り値を返してはいけません

このインスペクションは、 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 日