2012-04-13 10 views
1

ASP.Netページに問題があります。私はこのページが失敗した理由を診断するために苦労しています。Context.Server.Executeを使用しているときにIISアプリケーションプールがクラッシュする

私はこれを行うにしようとしています:

Dim st As New StringWriter() 

    Dim strURL As String = "CourseProgramme.aspx?id=3733" 
    Context.Server.Execute(strURL, st) 
    txtNotes.Text = st.ToString() 

ここでの目的は、strURLに指定して、テキストボックスに表示されたページのために戻ってHTMLを取得することです。しかし、私はこのコードを実行するときには、IISでApplicationPoolがクラッシュし、私はイベントビューアで見たとき、私は、このエラーメッセージが表示されます。

のWindowsプロセスアクティブ化と致命的な 通信エラーを被った「blueprintdev」をアプリケーションプールを提供しているプロセスサービス。 プロセスIDは「5284」でした。データフィールドにはエラー番号が含まれます。

Dim strDutyStartDate As Date 
    strDutyStartDate = TextboxDutyStartDate.Text 

    Dim st As New StringWriter() 
    Dim strURL As String = "rosteroutput.aspx?InstructorID=" & Request.QueryString("InstructorID") & "&Instructor=" & Request.QueryString("Instructor") & "&Start=" & strDutyStartDate 

    Context.Server.Execute(strURL, st) 
    TextBox1.Text = st.ToString 

は、私の知る限り存在しない、私が渡していたURL以外を見ることができるように、私はできません:

ここで奇妙なことが別のページに、私は正常に動作し、このコードを実行するということです両者の違いを見てください。

私が開発しているページは、.Net 4.0のASP.Netにありますが、Webサイトには古典的なASPページがいくつかあります。 IISは、Windows Server 2008 R2 64ビット版のバージョン7.5.7600.16385で動作しています。

これまでのところ、私はアプリケーションプールを32ビットモードで実行するように設定しようとしましたが、それは他の領域でエラーを引き起こし、サイトは読み込まれません。この問題を解決するために他に何かできることはありますか?

+0

あなたはこれを彼自身から呼びますか?あなたはクローズして、今までのループのために走りますか? – Aristos

+0

これはボタンクリックイベントから呼び出されます。どのようにループに入るか分かりません。 – Purplegoldfish

+0

デバッガでブレークポイントを作成してステップオーバーすると、同じページ、ポストバック、それから2番目のケースがあります死んだmutexロックに落ちる – Aristos

答えて

0

これを解決するには、何らかの理由でノンストップループを起動する必要があります。

たとえば、Context.Server.Execute(strURL, st)という呼び出しは、Context.Server.Execute(strURL, st)などを呼び出すトリガーなので、プールがクラッシュします。

2番目のケースでは、同じページからボタンを押してポストバックした後、そのページから死んだミューテックスロックに落ちる可能性があります。

関連する問題