クライアント リクエストがランダムに WCF サービス コールに応答しないという奇妙な問題があります。
セットアップは、HTTP バインディングと PollingDuplex バインディングの両方を使用して WCF サービスを呼び出す Silverlight 5 アプリケーションです。SL はロード時に多数のリクエストを行い (20 秒で 20 以上)、そのうちの 1 つまたは 2 つに対する応答を受信しないことがあります。明確にするために、まったく同じ要求が 90% の時間で機能します。ページを更新すると、すべての要求が応答を得ることができます。
エラーは、送信された実際の要求ではありません。これも Fiddler を使用して検証します。これは、リクエストが行われていることを確認するためです (コンテンツが以前の成功したリクエストと同じであることを確認してください) が、リクエストに対する応答がありません。最終的に、クライアントは要求をタイムアウトにします。WCF サービスは IIS7 でホストされており、両方で診断とログを有効にしています。WCF サーバーのトレース ログには、クライアントが要求をタイムアウトしたときにログに記録されたメッセージのみが表示されます。クライアントのタイムアウト時に、「メッセージの処理中」アクティビティの下に次の例外アクションが記録されます。無効なリクエストを送信している可能性があります。」これは、HTTP の本体が WCF に到達していないかのようです (WCF ハンドラーに渡す前に、IIS によって受信された完全な要求をログに記録できるかどうかわかりません)。前述したように、Fiddler を使用すると、メッセージ全体が有効であることがわかります (この動作は、Fiddler がトラフィックを盗聴していない場合にも発生することに注意してください。したがって、Fiddler を問題として除外しました)。
通常、「メッセージを処理中」アクティビティには「宛先: 処理アクションxxx」があります。
私が言ったように、これは Http および PollingDuplex サービスで、私の開発ボックスと実稼働 Web サーバーで発生します。さまざまなエンドポイントでも発生しますが、発生するため、WCF スロットリング動作とは関係ないと思います
診断に役立つ追加情報やヒントなど、原因を突き止めるための情報やヘルプをいただければ幸いです。