បោះបង់ចោលការឆ្លើយតប HttpWebRequest រវាងសំណើប្រូកស៊ី
ផ្តល់ឱ្យការឆ្លើយតប HttpWebRequest ចាស់នូវអាយុកាលច្បាស់លាស់ ដើម្បីកុំឱ្យសំណើប្រូកស៊ីដែលធ្វើឡើងដដែលៗកាន់ធនធានតភ្ជាប់ដោយគ្មានកំណត់។
using (WebResponse response = request.GetResponse())
{
response.GetResponseStream().CopyTo(destination);
}
រក្សាការឆ្លើយតប HttpWebRequest ចាស់នីមួយៗក្នុងវិសាលភាពដែលបញ្ចប់ការប្រើប្រាស់របស់វា និងដោះលែងវា។ នៅទីនេះ destination គឺជាស្ទ្រីមលទ្ធផលដែលអាចសរសេរបានរបស់កម្មវិធី; ប្លុក using ដោះលែង WebResponse ទោះបីការចម្លងបរាជ័យក៏ដោយ ដោយមិនទទួលយកកម្មសិទ្ធិលើលទ្ធផលនោះ។
ការជោគជ័យនៃសំណើប្រូកស៊ីមួយ និងការរង់ចាំរបស់សំណើបន្ទាប់ អាចបង្ហាញថាការឆ្លើយតបមិនទាន់បញ្ចប់កំពុងកាន់ធនធានតភ្ជាប់។ ការទទួល WebResponse តែម្នាក់ឯងមិនបញ្ចប់តួរបស់វាទេ។ ពេលវេលាកំណត់នៃសំណើកំណត់ការរង់ចាំ មិនមែនអាយុកាលនៃការឆ្លើយតបនីមួយៗដែលទទួលបានរួចហើយនោះទេ។
អនុវត្តកម្មសិទ្ធិដូចគ្នាចំពោះកំហុស។ WebException អាចផ្ទុកការឆ្លើយតបដែលកូដរបស់អ្នកពិនិត្យ; បិទវាបន្ទាប់ពីពិនិត្យ។ ការបរាជ័យនៃការដឹកជញ្ជូនអាចមិនមានការឆ្លើយតបទាល់តែសោះ។
ការដោះលែងបង្វិលធនធានរបស់ការឆ្លើយតបមកវិញ ប៉ុន្តែមិនធានាការតភ្ជាប់ដែលអាចប្រើឡើងវិញគ្រប់ករណីទេ។ ពិធីការ ម៉ាស៊ីនមេ និងការប្រើប្រាស់តួនៅតែសំខាន់។
នេះពាក់ព័ន្ធនឹងការថែទាំស្ទះ WebRequest ចាស់។ នៅក្នុងកូដថ្មីជាង សូមអនុវត្តតាមកម្មសិទ្ធិការឆ្លើយតប/ស្ទ្រីមរបស់អតិថិជនពិត; សម្រាប់ HttpClient, រក្សាការឆ្លើយតបក្នុងវិសាលភាពដោះលែងរបស់វា ហើយបែងចែកការបរាជ័យសម្អាតនេះពីការផ្ទៀងផ្ទាត់ប្រូកស៊ី ឬការជ្រើសរើសផ្លូវ។