这个类跟code access security一起合起来使用, 帮助保护在System.Web命名空间下的共有类型. 代码必须至少被指派Minimal信任等级才能访问受保护的ASP.NET类型.
AspNetHostingPermission 类的Level属性是通过在trust configuration element中设置合适的trust level来指定的. 默认地, trust configuration element的level属性被设置为Full. 也就是, 默认情况下, ASP.NET应用程序会运行在Unrestricted level上. 当ASP.NET应用程序域(application domain ) 被创建出来的时候, ASP.NET会读取在trust configuration element指定的level属性值, 使用指定的Level 属性为application domain创建AspNetHostingPermission 类的一个实例. 更多信息请参考ASP.NET Trust Levels and Policy Files.
推荐你将信任站点的level属性设置为High. 对于不信任的站点, 比方说运行着的web server, 这个web server 包含替外部用户运行代码的站点, 这种情况下, 推荐你将trust configuration element设置为Medium.
为.NETFramework 默认定义的permission sets(比如说LocalIntranet, Internet,诸如此类)并不包含AspNetHostingPermission 的权限. 也就是说, 默认情况下, AspNetHostingPermission 仅会被赋予在Full Trust下运行这的applications.
下面的代码例子展现了使用AspNetHostingPermission的权限来保护的类. 代码必须至少运行在Minimal的AspNetHostingPermission权限等级才能创建出来这个类的实例.
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Medium)] public class CustomAspNetClass { }
AspNetHostingPermission Class
http://msdn.microsoft.com/en-us/library/system.web.aspnethostingpermission.aspx