現在のアプリケーションが中程度の信頼であるかどうかを判断する方法

StackOverflow https://stackoverflow.com/questions/6325354

  •  27-10-2019
  •  | 
  •  

質問

私は自分の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;
}

Mediumで実行されてから完全な信頼で実行されているASP.NET MVC3アプリケーションでテストしました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top