2011-03-25 3 views
0

나는이 코드를 고전적인 코드에 따라 global.asax에 썼다. 웹 사이트를 시작할 때마다이 오류가 표시됩니다. 페이지를 새로 고친 후 올바른 페이지로 이동합니다. 이유를 모르겠습니다.이 컨텍스트에서는 응답을 사용할 수 없습니다. Response.Write (ex.ToString());

Response is not available in this context. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Response is not available in this context.

Source Error:

Line 26:   catch (Exception ex) 
Line 27:   { 
Line 28:    Response.Write(ex.ToString()); 
Line 29:   } 
Line 30: 

<script runat="server">

void Application_Start(object sender, EventArgs e) 
{ 
    try 
    { 
     if (Roles.RoleExists("Administrators") == false) 
      Roles.CreateRole("Administrators"); 
     if (Membership.FindUsersByName("ken").Count == 0) 
     { 
      Membership.CreateUser("ken", "123", "[email protected]"); 
      Roles.AddUserToRole("ken", "Administrators"); 
     } 
     if (Membership.FindUsersByName("dan").Count == 0) 
      Membership.CreateUser("dan", "123", "[email protected]"); 


    } 
    catch (Exception ex) 
    { 
     Response.Write(ex.ToString()); 
    } 

}

</스크립트 >

+0

catch가 잡는 예외가 무엇인지 궁금합니다. –

+0

언급 한 코드가 어떤 이벤트에 있습니까? – V4Vendetta

답변

0

내가 가장 아마 앱에서 일부 문제가 블록을 잡으려고 당신을 데려 갈 예외로 결과 코드를 시작할 수 있다고 생각합니다. 어떤 이유로 응답 객체가 사용 가능하지 않으므로 처리되지 않은 예외가 발생합니다. 응용 프로그램이 이미 시작되었으므로 코드 경로가 다시 방문하지 않으며 이후 요청시 오류가 표시되지 않습니다.

실제 문제에 대한 불빛을 어둡게하는 원본 예외 세부 정보를 확인하고 이에 대한 응답을 사용할 수없는 이유를 확인하기 위해 예외로 파일을 표시하는 대신 파일에 예외를 기록하는 것이 좋습니다. System.Diagnostic.Trace 사용자는 로깅을 위해 리스너를 추적하거나 Log4Net 또는 MS 로깅 응용 프로그램 블록과 같은 라이브러리를 사용할 수 있습니다.

2

Application_Start는 IIS에서 응용 프로그램을 시작할 때 한 번만 실행됩니다. 문제의 실제 원인은 try 블록 내부의 코드입니다.이 블록은 로깅 프레임 워크를 사용하거나 catch 블록 내부에 중단 점을 설정하여 진단 할 수 있습니다.

Application_Start와 관련된 요청 (또는 응답)이 없기 때문에 catch 블록 내에 Response.Write를 사용할 수 없습니다. 이렇게하면 새로운 예외가 트리거되어 문제의 원래 원인을 숨 깁니다. 자세한 내용은 ASP.NET Application Lifecycle을보십시오.

+0

젠장, 나는 거의 내 대답을 끝냈다. 그러나 너는 더 빨랐다.) – citronas

+0

@citronas 그것은 우리 모두에게 일어난 일이다 :-) –

관련 문제