0

次の問題があります。mono を使用するアプリケーション内の Web からデータを取得するために HttpWebRequest を使用します。また、アプリケーションはプロキシ (認証なしのイカ) を使用します。ほとんどの要求はhttps://service.domain.comに送られ、うまく機能しますが、https://data.domain.comにアクセスしようとすると404 応答が返されます。

リクエストをスワップし、最初のリクエストがhttps://data.domain.comに移動すると、機能しますが、 https://service.domain.comへの次のリクエストは失敗します。

この問題は、https とプロキシを使用するモノでのみ発生します。

アドバイスや回避策はありますか?

4

1 に答える 1

1

これが先週 (実際には金曜日) に気付いたのと同じバグである場合、同じ HttpWebRequest オブジェクト (またはバッキング接続オブジェクト - 確認したことはありません) が再利用されていることがわかりますが、接続は維持されています。古いサーバー(あなたの場合はhttps://service.domain.com)にアクセスし、その新しい GET/POST 呼び出しは、必要なように data.domain.com に強制的に接続するのではなく、その接続を再利用します。

私がそれを回避した方法は、最初のサーバーの KeepAlive を false に設定することでした (とにかく 1 つの要求しか作成しませんでした)。これにより、2 番目のサーバーに切り替えたときに再接続が強制されます (その時点で、KeepAlive を true に戻します)。 .

別の方法として、2 つの Web 要求を同時に (サーバーごとに 1 つ) 作成して、それらが再利用されないようにすることもできます。

金曜日に提出するべきだったのですが、間に合わず忘れてしまいました。あなたはちょうど私にそれを思い出させたので、私はそれをファイルしました:

https://bugzilla.xamarin.com/show_bug.cgi?id=7599

Cc リストに自分自身を追加して、私が見逃していると思われる追加情報を提供してください。

于 2012-10-02T21:51:13.550 に答える