Domanda

Sto cercando di assicurarsi che la mia libreria ASP.Net funzionerà sotto Medium Trust. Sto avendo problemi però in che ho bisogno di disattivare un po 'di codice, se esso viene eseguito con attendibilità media.

come faccio a determinare da C #, se l'applicazione corrente e 'di medie fiducia?

In particolare, sto cercando di leggere la sezione customErrors da web.config e sto ottenendo gli errori di sicurezza

È stato utile?

Soluzione

Questo articolo qui descrive un meccanismo per determinare il livello di attendibilità:

scoprire il livello di attendibilità corrente in ASP.NET

Ecco il codice nel caso in cui le matrici di link:

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

Ho appena provato in un'applicazione ASP.NET MVC3 esecuzione a medio e fiducia quindi completa e fa quello che dice sulla latta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top