2008-11-07 5 views
2

실제로 다음과 같은 오류의 원인을 파악하는 방법은 무엇입니까? 페이지는 다른 페이지와 동일하지만 어떤 이유로이 페이지에만이 오류가 있습니다. 또한 신뢰 수준이 보통 인 ISP (GoDaddy)에서만 발생하며 중단 점을 설정하여이를 잡으려고 시도 할 수 없습니다. 이 문제를 가지고하거나 알고있는 경우ASP.NET 보안 예외를 추적하는 방법

Server Error in '/' Application. Security Exception Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 
Stack Trace: 

[SecurityException: Request for the permission of type 'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] 
    System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0 
    System.Security.CodeAccessPermission.Demand() +59 
    System.IO.Path.GetTempPath() +54 
    hh.a(Int32 A_0, Boolean A_1, Boolean A_2) +20 
    jg.b(c A_0, UInt64 A_1) +234 
    ei.b(c A_0, UInt64 A_1) +18 
    jg.a(c A_0, UInt64 A_1, Boolean A_2) +61 

Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433

어떻게 수정하거나 추적 할 수 있습니까? 중간 정도의 신뢰 수준은 ISP에서 필요합니다.

답변

2

IIS의 로컬 인스턴스를 사용하고 신뢰 수준을 보통으로 설정해 보았습니까? 그러면 디버깅하고 물건을 조금 더 빨리 시도 할 수 있습니다.

(어쨌든 들어갈 수있는 좋은 습관입니다. 가능한 한 프로덕션에 가까운 환경에서 테스트하고 싶습니다. 그리고 VS 웹 서버에는 테스트하지 않으면 얻을 수있는 몇 가지 중요한 차이점이 있습니다. 또한 IIS에서.

+0

사이트에서 필요한 신뢰 수준을 낮추려면 어떻게해야합니까? 파일 시스템에 파일을로드해야하는 Db4o를 사용한다고 가정 해보십시오. –

+0

IIS7의 경우 서버 또는 웹 사이트의 ".NET Trust Levels"항목 아래에서 IIS 관리자의 신뢰 수준을 편집 할 수 있습니다 수평. http://technet.microsoft.com/en-us/library/cc753658(WS.10).aspx –

+0

신뢰를 변경하는 방법을 알고 있지만,이를 낮추고 오류가 발생하면 어떻게해야합니까? 거기서 나는 어디로 가야합니까? –

1

GoDaddy가 완전 신뢰를 지원한다고 생각하지 않습니다.하지만 최근에 변경되었을 수 있습니다. 이 오류는 System.IO.Path.GetTempPath 호출로 인해 발생하며 EnvironmentPermission이 필요합니다.

그 이전의 호출 스택은 난독 화되어 있으므로 구성 요소 공급 업체의 것입니다. 부분 신뢰에 대한 업데이트 또는 수정 사항을 확인하거나 교체하십시오.

+0

해당 페이지에 DevExpress 구성 요소가 있지만 아직 해결되지 않은 오류를 remvd했습니다. 재 컴파일을 원한다면 web.config를 변경했습니다. 페이지가 원격 호스트에서 강제로 컴파일되도록 다른 방법이 있습니까? 내 마지막 옵션은 해당 구성 요소가없는 페이지를 다시 만들고 어떤 일이 발생하는지 확인하는 것입니다. –

+0

다시 컴파일해야합니다. 페이지를 캐싱하지 않았는지 확인하십시오. 그렇지 않다면 아마 오류가 있으며 그 구성 요소가 아닙니다. –

0

난독 화가 아닌 디버그 어셈블리의 중단 점을 설정하는 것은 어렵습니다. 그것은 당신을 어디에도 이끌지 않을 것입니다.

난독 화 된 구성 요소가 임시 경로에 액세스하려고하는 이유를 확인하십시오.

관련 문제