3

いくつかのWCFODataサービスがホストされているサーバーアプリケーションを開発しています(C#4.0、VS2010)。私はサービスの非常に奇妙な振る舞いを観察していて、私のアプリケーションで見たものを説明するドキュメントを見つけることができません。

サービスのクライアントが何らかの理由で接続を切断すると、予想どおり、サービスは障害状態になります。ただし、引き続き適切に機能します(新しいクライアントからの接続を問題なく受け入れ、期待どおりにデータを提供し続けます。これはすべて、対応するDataServiceHostsのFaulted状態です)。

同時クライアント数を増やすと、ほとんどの同時接続を持つサービスの1つがサイレントに機能しなくなることがあります。ブラウザでURLを開こうとすると、「エンドポイントが見つかりません」というメッセージが返されます。これを掘り下げるために使用できる例外やその他の目に見える症状はありません。ただ静かに止まります。同時クライアントの数が少ない他のサービスは、障害状態にもかかわらず問題なく動作し続けます。巨大な同時アクセスがサービスのこのサイレントな停止をトリガーせず、正常に機能し続ける場合があります。

もう一つの奇妙な事実。WCFトレースをオンにすると、サイレントサービスの停止を再現できません。それは単に完璧に機能します。そのため、WCFトレースを使用して問題の原因を調査することはできません。

誰かが私に本当のWCFODataサービスのライフサイクルとは何かを説明できますか?なぜ障害状態で動作し続けるのですか?サイレントストップの理由は何でしょうか?クライアントが接続を切断した後、毎回WCF ODataサービスを再起動する必要がありますか?

4

0 に答える 0