2012-04-13 2 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 속성을 충돌 내가 이벤트 뷰어에서 볼 때이 오류 메시지가 표시됩니다

윈도우 프로세스 활성화에 치명적인 통신 오류가 '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에 있지만 웹 사이트에는 고전적인 ASP 페이지가 있습니다. IIS는 Windows Server 2008 R2 64 비트 버전 7.5.7600.16385에서 실행됩니다.

지금까지 32 비트 모드로 실행되도록 응용 프로그램 풀을 설정했지만 다른 영역에서 오류가 발생하고 사이트가로드되지 않습니다. 이 문제를 해결하기 위해 할 수있는 다른 방법이 있습니까?

+0

당신은 그에게서 스스로 이것을 부릅니까? – Aristos

+0

이것은 단지 버튼 클릭 이벤트에서 호출됩니다. 확실하지 루프에 들어갈 수있는 방법 – Purplegoldfish

+0

디버거에서 중단 점을 만드는 방법을 통해 단계 및 방법을 알아보십시오 ... 오, 만약 당신이 동일한 페이지에서 다시 게시 할, 다음 두 번째 경우가 있습니다 죽은 뮤텍스 락에 빠지다. – Aristos

답변

0

답을하기 위해 어쩌면 논스톱 루프를 유발할 수 있습니다.

예를 들어 Context.Server.Execute(strURL, st) 호출은 다시 Context.Server.Execute(strURL, st) 등의 호출을 유발하므로 사용자가 풀을 크래시 할 수 있습니다.

두 번째의 경우, 같은 페이지에서 단추를 누르고 다시 게시 한 후에 메모를 작성한 경우 페이지에서 죽은 뮤텍스 잠금에 빠지거나 다른 세션에 빠질 가능성이 높습니다.

관련 문제