Blazor server projesinde hata olmadığı halde hata mesajı oluşturması

09/2021

Yeni bir Blazor Server App projesi oluşturdunuz. Mevcut html çalışmanızı dahil ederken varsayılan tüm style dosyalarını wwwroot altından sildiniz. Aktarımı tamamladıktan sonra projeyi çalıştırdınız ve size projenizde hata olmadığı halde hata mesajı oluşturdu. Detaylı bilgi için DevTools’a bakmanızı önerdi ama baktınız ki orada da bir şey yok. Tanıdık geldi mi? Hızlı yanıt için en alttaki çözüm bölümüne, merak ettiyseniz de okumaya devam edin.

Blazor uygulamaları render olurken gerekli görülen alanlardan birisi de _Host.cshtml içerisinde yer alan tüm alanların uygulama tarafından işlenebilir halde olması. Host dosyasını açıp incelediğinizde environment etiketlerini içerisinde barındıran blazor-error-ui isimli bir div ile karşılaşacaksınız.

Bu div uygulamanız hata oluşturduğunda kullanıcıya çıktı üretmesi için eklenen bir alan. Bu alana ait style dosyalarını kodunuzun içinde bulamadığı zaman bu hatayı üretecektir.

Staging veya Production ortamında size döndüreceği hata mesajı:

An error has occurred. This application may no longer respond until reloaded.

Development ortamında size döndüreceği hata mesajı:

An unhandled exception has occurred. See browser dev tools for details.

Çözüm

Aşağıdaki style tanımlamalarını projenize dahil etmek.

    #blazor-error-ui {
        background: lightyellow;
        bottom: 0;
        box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
        display: none;
        left: 0;
        padding: 0.6rem 1.25rem 0.7rem 1.25rem;
        position: fixed;
        width: 100%;
        z-index: 1000;
    }

        #blazor-error-ui .dismiss {
            cursor: pointer;
            position: absolute;
            right: 0.75rem;
            top: 0.5rem;
        }

ABDULLAH

I am a Software Craftsman at the Company, a Developer MVP at Embarcadero,
and a Jedi Daddy for Zeybie.

SAYFA

Bu sayfa programlama, insan faktörü ve ara sıra deneme yazıları içerir. Ancak yazılar bu sırayla yer almaz.

Abdullah Ilgaz © MMXXI by Abdullah Ilgaz.
İçerik, aksi belirtilmedikçe Creative Commons (BY-NC-SA) kapsamındadır.