Загрузить сборку с пользовательскими разрешениями - PullRequest
5 голосов
/ 09 ноября 2010

Мне нужно загрузить ненадежную сборку в мой домен приложений. Я не хочу помещать в «песочницу» новый AppDomain для выполнения этой сборки, потому что он внутренне требует доступа к определенным функциям, таким как HttpContext.Current (который будет нулевым в отдельном изолированном AppDomain).

Я думаю, что старый способ сделать это - вызвать Assembly.Load с некоторыми пользовательскими доказательствами, но похоже, что это стало устаревшим из-за изменений CAS в 4.0:

http://msdn.microsoft.com/en-us/library/ms145229.aspx

http://msdn.microsoft.com/en-us/library/ee191568(VS.100).aspx

Я не совсем понимаю, как я могу достичь того, чего я хочу, с помощью новой модели безопасности ... Может кто-нибудь объяснить или предложить альтернативный подход?

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

Эта статья - огромный глоток ...

http://msdn.microsoft.com/en-us/library/dd984947.aspx

Но я наконец нашел то, что искал:

http://msdn.microsoft.com/en-us/library/system.web.hosting.hostsecuritypolicyresolver.aspx

Просто потребовалось много времени, чтобы найти ...

0 голосов
/ 17 ноября 2010

Вы можете вернуться к прежней модели, изменив конфигурацию своих приложений, вторая ссылка содержит ссылку вверху, но см. здесь для получения дополнительной информации. Тогда вы можете просто использовать смешанные сборки доверия в домене приложений по умолчанию.

...