Einen WCF-Service-Client wiederverwenden oder jedes Mal einen erstellen?

9

Ich habe (und lese) viele Meinungen dazu gehört, die besser sind: einen WCF-Service-Client wiederzuverwenden oder ihn jedes Mal zu erstellen. Aber ich habe nie verstanden, was genau in diesen Situationen passiert. Und abgesehen von Meinungen habe ich wirklich nichts "Offizielles" gefunden (wie eine msdn Seite, die sagt, was besser ist, warum und wann).

Bei der Entwicklung meiner eigenen Anwendungen hatte ich selten Probleme, jedes Mal ein neues zu erstellen (und zu schließen) (der Erstellungs- und Schließvorgang hat nicht einmal eine Millisekunde in die Verarbeitungszeit investiert). Aber in einigen Fällen hat die Wiederverwendung eines WCF-Dienstclients wirklich eine Änderung vorgenommen (auf eine gute Weise). Diese wurden von mir in der Praxis beobachtet, ohne ein wirklich logisches Motiv zu haben.

Also, kann mir jemand genau erklären, welcher Weg besser ist? Und in welcher Situation? Es hängt vom Laden des Clients ab? Die Verwendung von Web Garden auf IIS beeinflusst die Auswahl?

    
Coral Doe 09.03.2012, 14:55
quelle

1 Antwort

5

Microsoft empfiehlt die Zwischenspeicherung für die Client-Erstellung: Ссылка (überprüfen Sie die zu berücksichtigenden Probleme.) Teil)

In der ursprünglichen Version von WCF gab es ein Leistungsproblem beim Erstellen von Channel Factory. Daher verursachte das Erstellen eines Clients jedes Mal Leistungsprobleme. Wir mussten die Channel Factory erstellen und zwischenspeichern. Microsoft hat dieses Problem mit einem Update (.NET Framework SP1?) Behoben und das Caching ist nicht mehr erforderlich.

Grundsätzlich ist der Leistungsunterschied nach der Behebung vernachlässigbar, insbesondere wenn man einen Anruf über das Netzwerk tätigt.

    
rosencreuz 09.03.2012, 15:26
quelle

Tags und Links