Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melaksanakan Pengendalian Ralat Tersuai dalam ASP.NET MVC menggunakan Application_Error?

Bagaimana untuk Melaksanakan Pengendalian Ralat Tersuai dalam ASP.NET MVC menggunakan Application_Error?

Mary-Kate Olsen
Lepaskan: 2025-01-14 10:02:47
asal
285 orang telah melayarinya

How to Implement Custom Error Handling in ASP.NET MVC using Application_Error?

Gunakan acara Application_Error Global.asax untuk melaksanakan pengendalian ralat tersuai dalam ASP.NET MVC

Peristiwa Application_Error dalam fail Global.asax dalam ASP.NET MVC membolehkan pembangun mengendalikan pengecualian dan ralat yang tidak dikendalikan dalam aplikasi. Amalan biasa ialah mengubah hala pengguna ke halaman ralat tertentu berdasarkan kod status HTTP ralat.

Untuk melakukan ini, anda boleh mengubah suai pengendali acara Application_Error seperti berikut:

<code class="language-csharp">protected void Application_Error(object sender, EventArgs e)
{
    Exception exception = Server.GetLastError();
    Response.Clear();

    HttpException httpException = exception as HttpException;
    if (httpException != null)
    {
        string action;

        switch (httpException.GetHttpCode())
        {
            case 404:
                // 页面未找到
                action = "HttpError404";
                break;
            case 500:
                // 服务器错误
                action = "HttpError500";
                break;
            default:
                action = "General";
                break;
        }

        // 清除服务器上的错误
        Server.ClearError();

        Response.Redirect(String.Format("~/Error/{0}/?message={1}", action, exception.Message));
    }
}</code>
Salin selepas log masuk

Dalam kod yang dipertingkatkan ini, kami mengubah hala terus ke pengawal/tindakan dan menghantar butiran ralat sebagai parameter rentetan pertanyaan dan bukannya membuat laluan baharu untuk pengawal ralat. Pengawal Ralat kemudiannya akan menerima mesej dan memaparkannya menggunakan paparan yang dinyatakan dalam kaedah tindakan.

<code class="language-csharp">// GET: /Error/HttpError404
public ActionResult HttpError404(string message)
{
    return View("SomeErrorView", message);
}</code>
Salin selepas log masuk

Pendekatan ini memudahkan pengendalian ralat dan mengelakkan keperluan untuk penghalaan tambahan. Walau bagaimanapun, terdapat pertukaran yang perlu diberi perhatian, sebagai contoh, isu prestasi mungkin timbul jika terdapat sejumlah besar gelung atau penciptaan sesi semasa pengendalian ralat.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengendalian Ralat Tersuai dalam ASP.NET MVC menggunakan Application_Error?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan