Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengelakkan System.Threading.ThreadAbortException Semasa Respons.Redirect?

Bagaimana untuk Mengelakkan System.Threading.ThreadAbortException Semasa Respons.Redirect?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-20 21:09:111024semak imbas

How to Avoid System.Threading.ThreadAbortException During Response.Redirect?

Mengendalikan Sistem.Threading.ThreadAbortException dalam ASP.NET Redirects

Menggunakan Response.Redirect() dalam ASP.NET kadangkala boleh membuang System.Threading.ThreadAbortException. Ini berlaku kerana pelayan menamatkan pelaksanaan halaman semasa selepas ubah hala. Menetapkan endResponse kepada true dalam Response.Redirect() mengelakkan pengecualian, tetapi membenarkan pemprosesan yang tidak perlu selepas ubah hala, yang tidak cekap.

Pendekatan Terbaik

Penyelesaian yang ideal ialah menggunakan Response.Redirect() dengan endResponse ditetapkan kepada false, diikuti dengan Context.ApplicationInstance.CompleteRequest(). Ini mengubah hala dengan bersih tanpa pengecualian:

<code class="language-csharp">Response.Redirect(url, false);
Context.ApplicationInstance.CompleteRequest();</code>

Ini memberitahu saluran paip IIS untuk segera meneruskan ke peringkat EndRequest, menghalang pemprosesan selanjutnya halaman semasa.

Bacaan Lanjut

Untuk penjelasan yang lebih terperinci, termasuk pengendalian ubah hala dalam pengendali Application_Error, lihat catatan blog berwawasan Thomas Marquardt (pautan ke catatan blog akan disisipkan di sini jika tersedia). Pendekatan ini memastikan ubah hala yang cekap dan bebas pengecualian dalam aplikasi ASP.NET anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan System.Threading.ThreadAbortException Semasa Respons.Redirect?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn