2009-05-05 3 views
0

ich dieses Szenario haben:Typ Caching

ich habe eine Versammlung mit meinem Business-Objekttypen und diese Anordnung wird mit Reflexion zur Laufzeit (Assembly.LoadFile) in WCF mit KnownTypesProvider geladen, aber diese Anordnung kann vielleicht ändern (einige Entwickler Fügen Sie eine neue Methode oder neue Eigenschaft hinzu oder ändern Sie sogar einige Funktionen, vielleicht Bugfix), aber mit Assembly.LoadFile ist die Assembly-Datei gesperrt und ich kann diese Assembly nicht ersetzen.

Existiert ein Framework für Typ-Caching? Verwendung der Baugruppe ver. oder Montage Mod Datum? oder gibt es sogar eine Möglichkeit, ohne Schloss zu laden?

THX !!!!!!!!

Antwort

2

Sie können eine Assembly nicht austauschen, während die Anwendung ausgeführt wird. Auch wenn Sie ReflectionOnlyLoad verwenden, wird es gesperrt. Ich denke, Sie können die Baugruppe nicht entladen. Sie müssen Ihre Anwendung neu starten.

Wenn es für Sie wichtig ist, Assemblys automatisch neu zu laden, können Sie versuchen, alles, was von dieser Assembly abhängt, in eine AppDomain zu legen und die App-Domäne neu zu starten.

Wenn Sie GAC verwenden, können Sie eine andere Version der Assembly installieren, umleiten und die Anwendung neu starten.