Ich habe Desktop-Anwendung, die WCF-Dienste verwendet. Ich habe große Benutzerfreundlichkeit verbessert, wenn ich asynchrone WCF-Aufrufe implementiert habe.WCF Service Client Initialisierung Strategie
Meine Frage ist: Was ist die beste Vorgehensweise, um Service-Client zu initialisieren?
In der vorherigen Realisierung gab es ein einzelnes statisches Objekt mit Anmeldeinformationen und eine öffentliche Methode GetClient()
, die new ServiceClient
vor jedem Aufruf erstellt wurde.
using (var svc = ServiceClientFactory.GetClient()) {
var data = svc.CallMethod(...);
some_application_context.specific_attribute = data;
}
so, vor jedem Aufruf wurde erstellt neue Client, die sofort zerstört wurde nach der Operation beendet war und empfangenen Daten verwendet: Bei der Anwendung wurde es eine solche Konstruktion verwendet.
Meine Frage ist: Ist es die beste Vorgehensweise, Client-Konstruktor vor jedem Aufruf aufzurufen?
Ich habe versucht, ein einzelnes statisches Client-Objekt zu erstellen, das einmal beim Start initialisiert und einmal beim Schließen der Anwendung zerstört wird, aber ich habe keinen fiktiven Leistungsgewinn.
Scheint wie es funktioniert gut, aber ich frage mich, ob es nicht sehr offensichtliche Hindernisse bei der Verwendung einzelner Client? Und was wird empfohlen?
'mService.State' - das waren die Hindernisse, nach denen ich gefragt habe – obratim