Как отследить исключение безопасности ASP.NET - PullRequest
2 голосов
/ 08 ноября 2008

Как я могу выяснить, что на самом деле вызывает следующую ошибку? Страница такая же, как и на других страницах, но по какой-то причине эта ошибка возникает только на этой странице. Это также происходит только с провайдером (GoDaddy), у которого уровень доверия средний, и я не могу установить точку останова и попытаться ее перехватить.

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.

Ошибка источника:

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

Если у вас возникла эта проблема или вы просто знаете, как я могу ее исправить или отследить, добавьте свой ответ. Уровень доверия Средний требуется провайдером.

Ответы [ 3 ]

2 голосов
/ 03 мая 2009

Вы пытались использовать локальный экземпляр IIS и установить средний уровень доверия? Это поможет вам отладить и попробовать вещи немного быстрее.

(И это хорошая привычка. В любом случае вы хотите проводить тестирование в среде, максимально приближенной к рабочей. И у веб-сервера VS определенно есть несколько важных отличий, которые могут помочь вам, если вы не тестируете в ИРИ тоже.)

1 голос
/ 08 ноября 2008

Я не верю, что GoDaddy поддерживает Полное доверие - хотя это, возможно, изменилось недавно. Ошибка вызвана вызовом System.IO.Path.GetTempPath , для которого требуется EnvironmentPermission .

Стек вызовов до этого запутан, так что я думаю, что это от поставщика компонентов. Проверьте наличие обновлений или исправьте их на частичное доверие или замените их.

0 голосов
/ 09 июля 2009

Установка точек останова в обфусцированных, не отлаженных сборках сложна. Скорее всего, это никуда не приведет.

Узнайте, почему запутанный компонент пытается получить доступ к временному пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...