Я бился головой об стену на этом в течение нескольких лет. Со средним доверием вы быстро обнаружите много, многие сторонние элементы управления, которые вы используете, не справляются со средним доверием, и у вас не всегда есть исходный код. Как только вы нажмете одну строку кода, должен работать с полным доверием и не должен быть введен в GAC - в моих случаях существовали лицензионные ограничения для обеспечения совместного использования компонентов в GAC--, вы вернулись к полному доверию.
Мой совет:
- Ждите .NET 4.0. Модель CAS упростилась.
- Запустите домен приложения для каждого запроса и настройте список разрешений CAS на этом этапе. Вы получаете только одну политику CAS для всего домена приложения. Наблюдение за производительностью и масштабируемостью исчезает, когда вы запускаете домен приложений для каждого запроса, узнаете, что общение между доменами приложения часто бывает болезненным и т. Д.
На сегодняшний день единственная причина, по которой я могу подумать, что кто-то должен использовать среднее доверие, заключается в следующем: если хостинг со скидкой, ваша организация требует этого (потому что он находится в контрольном списке), потому что вы позволяете пользователям намеренно загружайте dll (например, если вы используете онлайн-сервис декомпиляции или соревнование по программированию, чтобы пользователи могли отправлять самые быстрые dll).