如何确定当前应用程序是否为“中等信任”

问题描述

| 我正在尝试确保我的ASP.Net库将在“中等信任”下工作。但是,我遇到的问题是,如果代码在中等信任度下运行,则需要禁用一些代码。 如何从C#确定当前应用程序是否为中等信任度? 具体来说,我正在尝试从web.config中读取customErrors部分,并且遇到安全性错误     

解决方法

        本文在此介绍一种确定信任级别的机制:   在ASP.NET中找出当前的信任级别 这是防止链接消失的代码:
AspNetHostingPermissionLevel GetCurrentTrustLevel() {
  foreach (AspNetHostingPermissionLevel trustLevel in
      new AspNetHostingPermissionLevel [] {
        AspNetHostingPermissionLevel.Unrestricted,AspNetHostingPermissionLevel.High,AspNetHostingPermissionLevel.Medium,AspNetHostingPermissionLevel.Low,AspNetHostingPermissionLevel.Minimal 
      } ) {
    try {
      new AspNetHostingPermission(trustLevel).Demand();
    }
    catch (System.Security.SecurityException ) {
      continue;
    }

    return trustLevel;
   }

   return AspNetHostingPermissionLevel.None;
}
我只是在ASP.NET MVC3应用程序中对它进行了测试,该应用程序在Medium中运行,然后在Full Trust中运行,它确实做到了。