سؤال

هل هناك أية مشكلات معروفة مع إلغاء طلبات HttpWebRequest HTTP؟ نجد أننا عندما إلغاء 4-5 طلبات والطلب التالي معلقة إلى أجل غير مسمى.

وإذا كان هناك أي مشاكل معروفة مع هذا، ثم أنا ربما تفعل شيئا خاطئا ... حيث هو مثال الموارد الجيدة التي تبين كيف يعمل هذا (الحل الكامل، وليس بضع مقتطفات الشفرة)؟

وإذا كانت هناك مشاكل معروفة، ماذا يمكنني أن أفعل للعمل من حولهم، من أجل إلغاء بفعالية أكبر عدد ممكن من طلبات وأنا في حاجة إليها؟

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

المحلول

وبعد إلغاء الطلب، ورعاية لإغلاق دفق استجابة، وإلا سيكون لديك تسرب.

وعادة ما تستخدم "باستخدام" عند الحصول على رد من طلب ويب لضمان الاستجابة مغلق:

WebRequest request = WebRequest.Create("http://google.com");

using (WebResponse response = request.GetResponse())
{
   //do my job
}

وبهذه الطريقة، حتى إذا قمت بإلغاء الطلب، أو أنه يطرح استثناء أثناء القراءة ردا على ذلك، resposne وانها ستغلق تيار.

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