1

そのため、誰か(私でした)は、WCFプロキシを使用した後に閉じる必要があることに気づいていませんでした。

これはどれくらい悪いですか?どのような問題を引き起こす可能性があります。

ガベージコレクションのためにリソースを閉じるのが遅れているだけですか?それとも、アプリプールのリサイクルが早すぎるなどのことを本当に心配する必要がありますか?

私は実際、この問題のあるWCFプロキシよりもはるかに多くのASMXを持っています。したがって、同じ質問がASMXにも当てはまります。

明らかに、これを知ったので、徐々に修正していきますが、これが実際にどれほど悪いかについての入力をいただければ幸いです。

4

3 に答える 3

4

WCF サービスには既定のタイムアウトがあります。閉じないと、サービスはタイムアウトになるまで待機します。

WCF には最大同時呼び出しもあり、デフォルトは 10 です。

したがって、接続を閉じない場合、1 分あたり 10 回の呼び出ししかできません。(デフォルト設定を想定)

同様の問題を抱えている人は次のとおりです。

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/d58ee1c6-032b-40f3-b734-6628f3991bb2/

于 2009-12-28T17:05:47.960 に答える
2

WCF接続を安全に再利用できますが、障害が発生した状態にあるかどうかを確認するためにさらに注意を払う必要があります。

于 2009-12-28T14:06:58.260 に答える
2

これを徐々に修正しようとしているときの一般的なガイドとして、プロキシを using ステートメントでラップしないでください。多くの人がこれを行うのを見てきました。IDesignの記事を読むまではそうしていました。 Dispose で例外をスローして実際の例外をマスクし、try/catch でプロキシを明示的に閉じます。閉じることで例外が発生した場合は、リソースのクリーンアップに Abort を使用します。

編集: 以下のコメントで指摘されているように、これは WCF プロキシに適用されます。

于 2009-12-28T16:49:44.533 に答える