Какие разрешения на отражение разрешены в Medium Trust? - PullRequest
8 голосов
/ 11 января 2011

Я хочу спросить, какие методы / классы разрешены в Medium Trust. Например, разрешены ли эти методы?

GetProperties, GetMethods, Activator.CreateInstance, Assembly.Version, AssemblyName.Name

Скажите, пожалуйста, какие методы разрешены?

Ответы [ 2 ]

3 голосов
/ 11 января 2011

Такие инструменты, как permview (только .NET 1.1) или permcalc (.NET 2.0) могут помочь вам рассказать о требованиях к разрешению безопасности, которые потребуются вашей сборке или сборкам; это немного проще, чем анализ проб и ошибок, поскольку вы можете забыть вручную выполнить путь к коду, который пытается выполнить требования безопасности.

К сожалению, в документации MSDN явно не перечислены требования безопасности для каждого вызова метода или свойства.

3 голосов
/ 11 января 2011

GetMethods и Activator.CreateInstance должны быть разрешены IIRC, а AssemblyName и Assembly.Version - нет. Я использовал первые два метода в средах со средним уровнем доверия, а последние два не работали. Лучший способ - это просто проб и ошибок на самом деле. Также может помочь с помощью Reflector, когда вы застряли, узнать , почему вещи не разрешены (обычно атрибут [PrincipalPermission (SecurityAction.Demand, AspNetHostingPermission.High / Full)] в классе где-то выше стек вызовов).

НТН,

Benjamin

...