Разрешение исключения безопасности для частично доверенных вызывающих абонентов выдается, хотя оно работает в режиме полного доверия.

StackOverflow https://stackoverflow.com/questions/1848342

Вопрос

При разработке с использованием ASP.net 2.0 (C#) и NHibernate 2.1.0 Я получаю ошибку:

System.TypeInitializationException: The type initializer for 'NHibernate.ByteCode.LinFu.ProxyFactory' threw an exception. ---> System.Security.SecurityException: That assembly does not allow partially trusted callers.

Эта ошибка была выдана только на рабочем сервере (веб-хостинговая компания) и в моей среде разработки все в порядке.

Я также запустил этот код ниже на рабочем сервере, чтобы увидеть уровень безопасности доступа к коду (CAS), и получил Истинный от:

System.Security.SecurityManager.IsGranted(new AspNetHostingPermission(AspNetHostingPermissionLevel.Unrestricted))

поэтому я могу предположить, что сейчас работаю в полностью доверенном режиме.

После прочтения некоторых статей об этой проблеме (не специально для NHibernate) Я понял, что мне нужно добавить

[assembly: AllowPartiallyTrustedCallers()]

в мой файл AssebmlyInfo.cs.

Мой вопрос:Есть ли способ решить это исключение без необходимости редактировать NHibernate.ByteCode.LinFu.dllAssmeblyInfo.cs ?Есть ли что-то, что можно настроить в web.config, чтобы разрешить подобные действия?

Спасибо,

Таль.

Это было полезно?

Решение

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top