2

wcf サービスに問題があります。Wcf サービス メソッドは、アプリケーションによって呼び出されます。このアプリはサービス メソッドを非常に頻繁に呼び出します (1 分間に数十回)。サービス メソッドが適切に呼び出されます (最後に Close() を使用するか、例外の後に Abort() を使用)。私にとって最も奇妙なことは、数時間後にアプリがサービスからエラーを受け取っていることです。

http://domain.xx/MyService.svcへの HTTP 応答の受信中にエラーが発生しました。これは、サービス エンドポイント バインディングが HTTP プロトコルを使用していないことが原因である可能性があります。これは、HTTP 要求コンテキストがサーバーによって中止されたことが原因である可能性もあります (サービスのシャットダウンが原因である可能性があります)。詳細については、サーバー ログを参照してください。基になる接続が閉じられました: 受信時に予期しないエラーが発生しました。トランスポート接続からデータを読み取れません: 既存の接続がリモート ホストによって強制的に閉じられました。

またはこれ:

* 00:15:00 以降、応答を待っている間にリクエスト チャネルがタイムアウトしました。Request への呼び出しに渡されるタイムアウト値を増やすか、Binding の SendTimeout 値を増やします。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。「http://domain.xx/MyService.svc」への HTTP 要求が、割り当てられたタイムアウトの 00:15:00 を超えました。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。操作がタイムアウトしました *

このようなエラーの原因は何ですか? 最初の数時間でサービスが適切に機能するのはなぜですか?

4

2 に答える 2

1

アプリケーションログを確認します。私の経験から、これらのエラーは、コード関連よりもサーバー関連の傾向があります。IIS に問題がある可能性があります。

于 2012-08-03T23:14:30.150 に答える
0

あなたがそれについて言及したことは知っていますが、チャネルを正しく閉鎖していないようです。また、多くのサーバー呼び出しに同じクライアントを使用しないようにしてください。作成して 1 回の呼び出しに使用し、破棄するだけです。

ここでは、WCF チャネルを閉じることについてよく読んでいます。

于 2012-08-03T23:14:46.133 に答える