2 Stimmen

Dynamische Proxies-Objekte erstellen

Gibt es eine Möglichkeit, WCF-Proxy-Objekte "on the fly" zu erstellen, ohne Codedom zu verwenden? Mit "on the fly" meine ich während der Laufzeit. Nehmen wir an, ich habe eine intelligente Client-Anwendung, die auf einen WCF-Dienst zugreift. Der Datenvertrag für den WCF-Dienst wird geändert, während der Client läuft. Ich möchte dynamisch ein neues Proxy-Objekt erstellen, das den geänderten Datenvertrag widerspiegelt.

4voto

Mike Glenn Punkte 3039

Sie sollten diesen Artikel lesen: WCF - der manuelle Weg der richtige Weg

Und prüfen Sie die Verwendung der ChannelFactory-Klasse. Sie werden eine Menge Reflexion haben, um die Mitglieder zu erstellen und aufzurufen, wenn sich der Vertrag spontan ändert, aber ich kann mir keinen Grund vorstellen, warum Sie es nicht tun können sollten.

0voto

Elijah Glover Punkte 1968

Ich habe eine Lösung gefunden, die eine gemeinsame Baugruppe für Verträge und Endpunktschnittstellen verwendet.

Die Projekte würden also lauten

  1. Gastgeber
  2. Kontakte & Endpunkte
  3. Client mit Vollmacht

    public class YourProxy : ClientBase {}

0voto

Tad Donaghe Punkte 6640

Seien Sie vorsichtig, wenn Sie zu viele Dinge spontan erledigen. Selbst wenn Sie Reflection verwenden, könnte es zu einfach werden, Ihren Client/Proxy/Service/Contract zu sehr miteinander zu koppeln.

Es ist eine fantastische Idee, manuelle Vollmachten zu erstellen und sie als Referenz für Ihren Kunden hinzuzufügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X