سؤال

هناك مشكلة غريبة كنت أحاول معالجتها في أحد المشاريع - يبدو أن مكالماتي إلى WebClient.DownloadFileAsync قد تم تجاهلها ولم يتم إثارة أي استثناءات.لقد تمكنت حتى الآن من تحديد أن هذا قد يكون بسبب عدم وجود مجلد الوجهة، ولكن من مظهر وثائق MSDN لـ Webclient.DownloadFileAsync لا يزال هذا يجب أن يتسبب في رفع الاستثناء.لقد وجدت واحدة موضوع منتدى MSDN يبدو أن هذا يعني أن هذا قد حدث بالفعل، ولكن لا يبدو أن هناك أي حل له.أي أفكار عما قد يحدث؟

هل كانت مفيدة؟

المحلول 2

تم حل هذه المشكلة بعد مراجعة MSDN وكود المصدر المعني.في السابق كان التطبيق ينفذ فقط تنزيلProgressChangedEventHandler لتتبع مقدار التنزيل المتبقي.تبين أن هذا هو السبب الجذري للمشكلة AsyncCompletedEventHandler هو ما يتم استدعاؤه عند حدوث استثناء وعدم تنفيذ معالج الحدث هذا يتركك بدون إشعار بالأخطاء.

نصائح أخرى

في أسلوب Async، لا يتم طرح الاستثناءات، بل يتم تمريرها عبر رد الاتصال في كائن EventArgs.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top