Schließen und Entsorgung eines WCF-Diensts
Den Close
- Methode auf ein ICommunicationObject
werfen können zwei Arten von Ausnahmen wie MSDN Umrisse hier. Ich verstehe, warum die Close
Methode werfen die Ausnahmen, aber was ich nicht verstehe, ist, warum die Dispose
Methode in einem Dienst-proxy ruft die Close
Methode ohne try
um ihn herum. Ist nicht Ihre Dispose
Methode der einzige Ort, wo Sie wollen, stellen Sie sicher, dass Sie nicht werfen Ausnahmen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es sich um ein gemeinsames design pattern in .NET-code. Hier ist ein Zitat aus Framework design guidelines
Hier ist ein blog-post die Problemumgehung für dieses System.ServiceModel.ClientBase design-problem
Ja, in der Regel Entsorgen ist einer der Orte, die Sie wollen, um sicherzustellen, exceptions werden nicht geworfen. Jedoch, basierend auf in diesem MSDN - forum thread gab es einige historische Gründe für dieses Verhalten. Als solche, die empfohlene Muster der try{Schließen}/catch{Abbrechen} Paradigma.