Разрешение на исключение безопасности для частично доверенных вызывающих абонентов выдается при работе в режиме полного доверия - PullRequest
0 голосов
/ 04 декабря 2009

При разработке с использованием 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), и получил True от:

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

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

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

[assembly: AllowPartiallyTrustedCallers()]

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

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

Спасибо

Tal.

1 Ответ

0 голосов
/ 06 декабря 2009

Вы пробовали описанные здесь шаги?

Использование NHibernate в веб-среде Medium Trust

...