中等信任允许哪些反射权限?
Posted
技术标签:
【中文标题】中等信任允许哪些反射权限?【英文标题】:What Reflection Permission are allowed in Medium Trust? 【发布时间】:2011-06-07 02:38:22 【问题描述】:我想问一下 Medium Trust 允许哪些方法/类。 例如, 是否允许这些方法?
获取属性, 获取方法, Activator.CreateInstance, 组装版本, 程序集名称.名称
请告诉我哪些方法是允许的。
【问题讨论】:
【参考方案1】:GetMethods 和 Activator.CreateInstance 应该允许 IIRC,而 AssemblyName 和 Assembly.Version 不允许。我在中信任环境中使用了前两种方法,后两种方法不起作用。 最好的方法就是通过反复试验。当您遇到困难时,也可以通过使用 Reflector 来找出 为什么 的东西是不允许的(通常是 [PrincipalPermission(SecurityAction.Demand, AspNetHostingPermission.High/Full)] 属性在某个更高的类上调用堆栈)。
HTH,
本杰明
【讨论】:
我觉得这很令人沮丧,因为我们无法知道哪些方法可用,哪些方法不可用?【参考方案2】:permview(仅限.NET 1.1)或permcalc(.NET 2.0)等工具可以帮助您了解您的程序集或程序集需要的安全权限要求;这比进行试错分析要容易一些,因为您可能会忘记手动执行尝试执行与安全相关的需求的代码路径。
不幸的是,MSDN 文档没有明确列出每个方法或属性调用的安全要求。
【讨论】:
以上是关于中等信任允许哪些反射权限?的主要内容,如果未能解决你的问题,请参考以下文章