service.close () - vs.-service.abort() - WCF-Beispiel
In einem der WCF-tutorials, ich sah Sie den folgenden Beispielcode:
Dim service as ...(a WCF service )
try
..
service.close()
catch ex as Exception()
...
service.abort()
end try
Ist das der richtige Weg, um sicherzustellen, dass die Ressourcen (d.h. verbindungen) freigesetzt werden, auch unter Fehlerbedingungen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich Glück gehabt mit diesem Modell:
Sehen Indisposable: WCF Gotcha #1*, wo kommt er auf eine einfache wrapper-Methode:
Verwendung:
* Link entfernt, wie es scheint, werden bösartige.
Service<T>
nicht statisch, und injizieren Sie dieChannelFactory<T>
oder dieIClientChannel
.Haben Sie die Allgemeine Vorstellung zu korrigieren. Ich habe mit der folgenden extension Methode, um die Zeilen von sich wiederholenden code auf ein minimum.
Beispiel-code mit dieser Erweiterung Methode:
Natürlich ist C#, aber ich denke, das sollte doch helfen.
Wenn Sie verwenden Sie einen client-cache, sollten Sie überlegen, mithilfe von Expression Trees (siehe http://thegrenade.blogspot.com/2009/07/using-expression-trees-for-more-elegant.html):
Verwendung: