Получить программный уровень ASP.NET Trust Level

Есть ли API для получения текущего уровня доверия ASP.NET?

Ответ 1

Из dmitryr blog:

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;
}

Ответ 2

Следующий код получает программный уровень ASP.NET Trust Level с использованием официального API конфигурации:

using System.Web;
using System.Web.Configuration;

...

var trust = WebConfigurationManager.GetSection("system.web/trust") as TrustSection;
return trust.Level;