Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何确定当前应用程序是否为中等信任_C#_Asp.net_Medium Trust - Fatal编程技术网

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

C# 如何确定当前应用程序是否为中等信任,c#,asp.net,medium-trust,C#,Asp.net,Medium Trust,我正在努力确保我的ASP.Net库能够在中等信任度下工作。我有问题,但是,我需要禁用一些代码,如果它是运行在中等信任 如何从C#确定当前应用程序是否为中等信任 具体地说,我正在尝试从web.config读取customErrors部分,并得到了安全性错误。本文介绍了一种确定信任级别的机制: 以下是代码,以防链接死亡: AspNetHostingPermissionLevel GetCurrentTrustLevel() { foreach (AspNetHostingPermissionL

我正在努力确保我的ASP.Net库能够在中等信任度下工作。我有问题,但是,我需要禁用一些代码,如果它是运行在中等信任

如何从C#确定当前应用程序是否为中等信任


具体地说,我正在尝试从web.config读取customErrors部分,并得到了安全性错误。本文介绍了一种确定信任级别的机制:

以下是代码,以防链接死亡:

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应用程序中测试了它,该应用程序以中等速度运行,然后完全信任,它按照tin上的说明运行。

我想如果您在
应用程序启动时只执行一次,那么它在伟大的计划中并不是一件大事。问题是,你拥有的信任越少,那么你可以尝试的事情就越少,这是唯一一件你可以在所有信任级别下尝试的事情。