คำถามติดแท็ก wcf-client

26
วิธีแก้ปัญหาที่ดีที่สุดสำหรับลูกค้า WCF `using` ปัญหาบล็อกคืออะไร?
ฉันชอบอินสแตนซ์ไคลเอ็นต์บริการ WCF ของฉันภายในusingบล็อกเพราะมันเป็นวิธีมาตรฐานในการใช้ทรัพยากรที่ใช้IDisposable: using (var client = new SomeWCFServiceClient()) { //Do something with the client } แต่ดังที่กล่าวไว้ในบทความ MSDN นี้การตัดไคลเอ็นต์ WCF ในusingบล็อกอาจปิดบังข้อผิดพลาดใด ๆ ที่ทำให้ไคลเอ็นต์อยู่ในสถานะบกพร่อง (เช่นหมดเวลาหรือปัญหาการสื่อสาร) เรื่องสั้นสั้น ๆ เมื่อเรียกใช้ Dispose () เมธอด Close () ของไคลเอ็นต์จะเริ่มทำงาน แต่จะโยนข้อผิดพลาดเนื่องจากอยู่ในสถานะบกพร่อง ข้อยกเว้นดั้งเดิมถูกหลอกลวงโดยข้อยกเว้นที่สอง ไม่ดี. วิธีแก้ปัญหาที่แนะนำในบทความ MSDN คือการหลีกเลี่ยงการใช้usingบล็อกอย่างสมบูรณ์และเพื่อยกตัวอย่างลูกค้าของคุณและใช้สิ่งเหล่านี้แทน: try { ... client.Close(); } catch (CommunicationException e) { ... client.Abort(); …
404 c#  vb.net  wcf  using  wcf-client 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.