[ServiceContract]
public interface Service
{
[OperationContract(IsOneWay = true)]
void ServiceMethod();
}
IsOneWay = true
クライアントはサーバーの結果を気にせず、場合によってはサーバーのメソッドを長時間 (たとえば 30 分) 実行する必要があるため、サーバーのコードを で設定します。
しかし、クライアントはサーバーのメソッドが完了するのをまだ待っていることがわかりました。サーバーが 30 分で終了した後、クライアントは再度要求し、以下を報告しCommunicationException
ます。
「ソケット接続が中止されました。これは、メッセージの処理中にエラーが発生したか、リモート ホストが受信タイムアウトを超えたか、基になるネットワーク リソースの問題が原因である可能性があります。ローカル ソケットのタイムアウトは '00:01:00' でした」.
クライアントはまだ結果を待っていると思います(デフォルトreceiveTimeOut
は10分です)、その後タイムアウトにつながります。私はWCF3.0を使用しています。
手伝って頂けますか?ありがとうございました!