0

C# を使用して、Windows サービス内で WCF サービスをホストしました。正常に動作し、クライアント アプリケーションから WCF サービスと通信できました。

しかし、問題は、クライアントを 10 分ほどアイドル状態にしてから再度接続しようとすると、次のエラーが発生することです。

サーバー スタック トレース:
System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
で System.ServiceModel.Channels.ServiceChannel.Call (文字列アクション、Boolean oneway、ProxyOperationRuntime 操作、Object[] ins、Object[] outs、TimeSpan タイムアウト)

4

2 に答える 2

0

ダウンしているのは Windows サービスではなく、クライアント プロキシです。

あなたは、クライアントをアイドル状態にしておくと言います。これを行うべきではありません。リクエストを行った後、クライアントを閉じる必要があります。その後、必要に応じて開きます。

于 2012-05-15T14:45:40.513 に答える
0

これは、サービス バインディングのReceiveTimeout設定がデフォルト値 (10 分) のままになっている場合に発生します。

これを「永久に」に設定するには、構成ファイルで次のように設定します。

ReceiveTimeout = "infinite"

またはコードで:

binding.ReceiveTimeout = TimeSpan.MaxValue;
于 2015-07-09T15:10:29.877 に答える