7

我想问一下中等信任中允许哪些方法/类。例如,这些方法是否被允许?

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

请告诉我哪些方法是允许的。

4

2 回答 2

3

GetMethods 和 Activator.CreateInstance 应该允许 IIRC,而 AssemblyName 和 Assembly.Version 则不允许。我在中信任环境中使用了前两种方法,后两种方法不起作用。最好的方法就是通过反复试验。当您遇到问题时,也可以通过使用 Reflector 来找出不允许使用的原因(通常是调用堆栈更高位置的类上的 [PrincipalPermission(SecurityAction.Demand, AspNetHostingPermission.High/Full)] 属性)。

高温下,

本杰明

于 2011-01-11T12:29:55.370 回答
3

permview (仅限.NET 1.1)或permcalc(.NET 2.0)等工具可以帮助您了解您的程序集或程序集所需的安全权限要求;这比进行试错分析要容易一些,因为您可能会忘记手动执行尝试执行与安全相关的需求的代码路径。

不幸的是,MSDN 文档没有明确列出每个方法或属性调用的安全要求。

于 2011-01-11T16:38:48.250 回答