2012-02-10 3 views
0

스택 오버 플로우가 새로 추가되었습니다 & MVC3!ASP.NET MVC 구성 파일! 디버그 허용

나는 응용 프로그램을 호스팅했으며 errorPage (InternalError.htm)로 리디렉션했습니다 : 구성 파일에서 구성한대로! 하지만 누군가가 나에게 태그 & 추가 할 속성을 생각 나게 할 수 있습니다, 그는 오류 메시지를 보여주기 위해,

line 23 : //exception Or Error here 

같은 것을이 설정을 변경하려면? 데뷔 = 사실 ??? 어디 ??? 등 친절하게 생각합니다!

답변

1

당신은 customErrors mode="RemoteOnly"를 사용할 수 있으며, 당신은 customErrors에 속성 (MSDN)를 찾고 있습니다

<system.web> 
    <customErrors mode="RemoteOnly" defaultRedirect="~/system/Error/FriendlyError"> 
     <error statusCode="403" redirect="~/system/Error/accessDenied" /> 
    </customErrors> 
</system.web> 
+0

감사합니다. 그러나 이것은 내가 원하는 것이 아닙니다. 구문 오류 '온라인'같은 것을보고 싶습니다 : 줄 23 : // 예외 또는 오류 – Bellash

+0

또한 ELMAH를 확인하십시오 : http://code.google.com/p/elmah/ 오류 로거를 사용하기가 간단합니다. , Nuget 패키지에서 직접 설치할 수 있습니다 : http://nuget.org/packages/elmah/ – amhed

0

로컬 컴퓨터에있는 경우 오류가 표시됩니다. 로컬 개발 시스템에서

<customErrors defaultRedirect="url" 
       mode="On|Off|RemoteOnly"> 
    <error. . ./> 
</customErrors> 

당신은 Off 또는 RemoteOnly으로 설정할 수 있습니다. 생산 기계에서는 On 또는 RemoteOnly으로 설정합니다.

RemoteOnly으로 설정하면 원격 데스크톱을 프로덕션 컴퓨터로 보낼 때 예외 세부 정보를 볼 수 있습니다. 그럴 수 없다면 Off으로 전환하십시오.

+0

로컬에서와 같이 자세한 오류는 어떻게됩니까? 23 행 : // 예외 또는 오류 – Bellash

+0

디버그 또는 릴리스 버전을 배포하고 있습니까? –

+0

죄송합니다 Wouter, 더 이상 RELEASE 또는 DEBUG 버전이 무엇인지 이해하지 못했습니다! asp.net mvc3 응용 프로그램을 개발했고 마우스 오른쪽 단추로 클릭하고 게시/배포 탭을 선택했습니다. 하지만 디버그 SYMBOLS 온라인 (앱 호스팅 위치 : www.mysite.com)을 추적하고 싶습니다! 아이디어가 있으십니까? – Bellash

1

사용자 지정 오류 처리기를 사용했습니다.

Global.asax.cs에 다음 코드를 추가합니다 :

나는 또한 사용자가 슈퍼 유저 인 경우를 제외하고 세부 정보를 표시하는 내 오류 페이지에 사용자 지정 코드를 추가
protected void Application_Error() 
    { 
     // if the debugger is attached, do not show the custom error page 
     if (System.Diagnostics.Debugger.IsAttached) 
     { 
      return; 
     } 

     try 
     { 
      Exception exception = Server.GetLastError(); 
      Response.Clear(); 
      Server.ClearError(); 
      RouteData routeData = new RouteData(); 
      routeData.Values["controller"] = "MyCustomErrorController"; 
      routeData.Values["action"] = "Index"; 
      routeData.Values["exception"] = exception; 

      IController errorsController = new MyCustomErrorController(); 
      var rc = new RequestContext(new HttpContextWrapper(Context), routeData); 
      errorsController.Execute(rc); 
     } 
     catch (Exception ex) 
     { 
      // if an error occurs within this method, do nothing 
      // app will automatically show the browser's default error page 
     } 
    } 

. 따라서 디버그 모드 나 라이브 사이트에 있지 않은 경우 (관리자로 로그인 한 경우) 오류 세부 정보를 쉽게 볼 수 있습니다.

코드를 더 잘 이해하려면 google을 사용하거나 디버거를 사용하여 단계별로 수행하십시오.