2011-02-08 10 views
2

私のWinFormsアプリケーションから、Webサービスを呼び出す必要があり、Web参照を使用しています。これまでのところ問題はありませんが、現在、ロードバランサの背後にあるプロキシの背後にあるソフトウェアを使用するクライアントがあります。Webサービス呼び出しの永続接続をオフにする方法

Webサービスのコールは正常ですが、2分後に失敗します。これを回避するには、間隔が2分未満のWebサービスを繰り返し呼び出すことで対処できます。

ロードバランサが2分間使用しないと、ロードバランサがtcpセッションを切断することが判明しました。これは明らかに、私たちの場合に起こり、ソフトウェアは回復できません。

どのWebサービスコールでも新しいtcp接続を使用するようにgerenated Web Referenceに指示するにはどうすればよいですか?

+0

あなたは、呼び出しの間でプロキシオブジェクトを処分していますか? – e36M3

答えて

1

あなたのプロキシのGetWebRequestメソッドをオーバーライドする場合は、KeepAliveプロパティを設定することができます。

public override WebRequest GetWebRequest(Uri uri) 
{ 
    HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(uri); 
    request.KeepAlive = false; 
    return request; 
} 
+0

私はWeb要求でKeepAliveを無効にすることができますが、ヘッダーにはProxy-Connection:Keep-Aliveが表示され続けます。 –

+0

@fordan:これはウェブプロキシのためのものであり、メインの接続のものではありません。私はそれをどのように変更するか、それを有効にするものはわかりません。 –

関連する問題