断続的な "System.Web.HttpException:Request timed out"が表示されます。ページが最初に(上記のコードが実行される前によく)の実行を開始するときResponse.BufferOutput = falseをが設定されていることを"System.Web.HttpException:要求がタイムアウトしました。" Response.writeのエラー
sMessage = "Searching...0% complete."<br>
sSetVal = "<script>document.getElementById('MessageDiv').innerHTML='" & sMessage & "';</script>"<br>
Response.write(sSetVal)
注:私のコードは、ラインのResponse.Writeを()ヒットエラー。
コードは、他のスレッドが長時間実行処理を実行しながら、進捗メッセージを更新するために使用されます。 1つのスレッドは連続的に実行され、他のスレッドの状態をチェックします。他のスレッドが終了すると、このスレッドは更新されたステータスメッセージをエンドユーザに出力します。私はこれがajaxを使ってコード化されるべきであることを認識していますが、これは従来のアプリケーションであり、現時点では選択肢ではありません。
このコードは、10,000回の日を実行し、エラーは約5回発生している - 私は、ウェブサイトが忙しくなったときの応答オブジェクトが他のスレッドによってブロックされている疑いがあります。ただし、パフォーマンスモニタでどのパフォーマンスカウンタをチェックするかわかりません。または、この問題は他の何かによって引き起こされますか?私はIIS 6、asp.net v2とvb.netを使用しています
例外をキャッチして、ex.ToStringを()掲載することにより、すべてのInnerExceptionを含む完全な例外を投稿してください。 –
クイック返信をありがとう。 今まで、私は使用している:のApplication_Errorサブで
Server.GetLastError().ToString()
を。 このエラーの出力はSystem.Web.HttpException: Request timed out.
です。他のすべてのエラーは、完全なコールスタックを持ちますが、このエラーはありません。エラー報告に.InnerExceptionを追加しました。報告されるその他の情報が表示されます。 私は現在の場所をセッションオブジェクトにダンプしていますが、エラーが発生したときにチェックしています。これは、完全な呼び出しスタックなしでresponse.writeに失敗していることを私が知っている方法です。 –OK - エラーが再度発生しました。内部の例外は空白です。唯一のエラーメッセージは "System.Web.HttpException:Request timed out"です。 Server.GetLastError()。ToString()から取得します。 –