Frage

Ich versuche sicherzustellen, dass meine ASP.NET -Bibliothek unter Medium Trust funktioniert. Ich habe jedoch Probleme, als ich ein bisschen Code deaktivieren muss, wenn er unter Medium Trust ausgeführt wird.

Wie bestine ich aus C#, wenn die aktuelle Anwendung mittelschwerer Vertrauen ist?

Insbesondere versuche ich, den Abschnitt "CustomErrors" von Web.config zu lesen, und ich erhalte Sicherheitsfehler

War es hilfreich?

Lösung

Dieser Artikel hier beschreibt einen Mechanismus zur Bestimmung der Vertrauensebene:

Finden Sie das aktuelle Vertrauensniveau in ASP.NET heraus

Hier ist der Code nur für den Fall, dass der Link stirbt:

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

Ich habe es gerade in einer ASP.NET -MVC3 -Anwendung getestet, die mit mittlerem und dann vollem Vertrauen ausgeführt wird, und es tut das, was es auf der Dose sagt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top