Я хочу спросить, какие методы / классы разрешены в Medium Trust. Например, разрешены ли эти методы?
GetProperties, GetMethods, Activator.CreateInstance, Assembly.Version, AssemblyName.Name
Скажите, пожалуйста, какие методы разрешены?
Такие инструменты, как permview (только .NET 1.1) или permcalc (.NET 2.0) могут помочь вам рассказать о требованиях к разрешению безопасности, которые потребуются вашей сборке или сборкам; это немного проще, чем анализ проб и ошибок, поскольку вы можете забыть вручную выполнить путь к коду, который пытается выполнить требования безопасности.
К сожалению, в документации MSDN явно не перечислены требования безопасности для каждого вызова метода или свойства.
GetMethods и Activator.CreateInstance должны быть разрешены IIRC, а AssemblyName и Assembly.Version - нет. Я использовал первые два метода в средах со средним уровнем доверия, а последние два не работали. Лучший способ - это просто проб и ошибок на самом деле. Также может помочь с помощью Reflector, когда вы застряли, узнать , почему вещи не разрешены (обычно атрибут [PrincipalPermission (SecurityAction.Demand, AspNetHostingPermission.High / Full)] в классе где-то выше стек вызовов).
НТН,
Benjamin