Menguruskan Tamat Masa dalam Objek WebClient .NET
Pengurusan tamat masa yang berkesan adalah penting untuk aplikasi .NET yang mantap yang melaksanakan operasi rangkaian. Tamat masa yang dikonfigurasikan dengan betul menghalang aplikasi hang disebabkan oleh pelayan yang perlahan atau tidak bertindak balas. Ini amat penting apabila berinteraksi dengan perkhidmatan web yang tidak boleh dipercayai.
Contoh ini menangani isu biasa tamat masa pramatang apabila memuat turun data daripada pelayan perlahan menggunakan kelas WebClient
. Kami akan menunjukkan cara untuk melanjutkan tempoh tamat masa.
Pelaksanaan Tamat Masa Tersuai
Standard WebClient
tidak menyokong tamat masa yang tidak terhingga secara langsung. Untuk menyesuaikan gelagat tamat masa, kami mencipta kelas terbitan yang mengatasi kaedah GetWebRequest
:
<code class="language-csharp">public class ExtendedWebClient : WebClient { protected override WebRequest GetWebRequest(Uri uri) { WebRequest request = base.GetWebRequest(uri); request.Timeout = 20 * 60 * 1000; // Set timeout to 20 minutes return request; } }</code>
Menggunakan Kelas Lanjutan
Menggunakan ini ExtendedWebClient
adalah mudah. Segerakannya dan gunakan kaedah DownloadFile
seperti sebelum ini:
<code class="language-csharp">ExtendedWebClient client = new ExtendedWebClient(); client.Encoding = Encoding.UTF8; client.DownloadFile(downloadUrl, downloadFile);</code>
Pendekatan ini menyediakan tamat masa terkawal dan boleh laras tanpa perlu menunggu tanpa had. Ini membolehkan pengendalian respon rangkaian yang perlahan dengan anggun, meningkatkan kestabilan aplikasi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Tamat Masa untuk Objek WebClient .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!