legacyCasModel="true" und " dynamische Daten/Operationen

Dies ist ähnlich zu Seltsame Ausnahme in MVC 3-Projekt.

Haben wir eine ASP.NET 4.0-Anwendung von voller Vertrauenswürdigkeit ausgeführt werden. Dann müssen wir die folgende Zeile in unsere web.config, sonst einer der Bibliotheken, die wir verwenden, funktioniert Sie nicht. (Wie es explizit verwendet das veraltete CAS-Modell von früheren Versionen .NET).

<trust legacyCasModel="true" />

Gegeben, diese Einstellung, wir sind nicht in der Lage, um verwenden der dynamischen keyword oder bestimmte Funktionen ASP.NET MVC, die auf Sie verlassen.

Als ein Beispiel, der folgende code bewirkt, dass eine Ausnahme:

dynamic d = new object();
d.test = "jason";

Ausnahme ist:

Dynamic operations can only be performed in homogenous AppDomain.

Gibt es eine Möglichkeit, ich kann das dynamic-Schlüsselwort funktioniert, wenn legacyCasModel auf true gesetzt ist? (Wenn es auf false gesetzt wird, funktioniert alles, außer der Bibliothek, die es erfordert.)

Ideen:

  1. Gegeben, ich bin voll vertrauenswürdig ausgeführt wird, gehe ich davon aus, dass eine assembly in der AppDomain wird die Nutzung reduziert Berechtigungen (daher die nicht-homogen). Gibt es eine Möglichkeit, ich kann einfach sagen, und es laufen in full trust-Modus, so dass die Anwendungsdomäne homogen?
  2. Sollte ich in der Lage umgestalten meinen code irgendwie laden die problematische Montage in einer anderen AppDomain? Ich bin nicht vertraut mit den typischen Möglichkeiten, dies zu tun, aber es scheint Komplex.
  3. Gibt es einige andere Magische Konfiguration Einstellung, die ich aktivieren kann, damit es funktioniert?
hast du versucht es zu laden, in eine verschiedene appdomain? jede source-code über?

InformationsquelleAutor Jason Kealey | 2011-04-04

Schreibe einen Kommentar