現在のアプリケーションが中程度の信頼であるかどうかを判断する方法
-
27-10-2019 - |
質問
私は自分の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;
}
Mediumで実行されてから完全な信頼で実行されているASP.NET MVC3アプリケーションでテストしました。
所属していません StackOverflow