Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 13 - E-shop v ASP.NET - Základ - Výjimky a filtry

V minulé lekci, E-shop v ASP.NET - Základ - Systém zpráv, jsme implementovali systém zpráv pro uživatele.

V dnešním ASP.NET Core tutoriálu ošetříme výjimky na úrovni kontroleru pomocí filtrů. Využijeme při tom i systém zpráv pro uživatele.

Budeme pracovat pouze v aplikační vrstvě, tedy v projektu Eshop.

Abychom nemuseli v jednotlivých akcích kontroleru opakovaně používat chráněný blok (try...catch), využijeme mechanismu filtrů, který nám ASP.NET Core poskytuje.

Filtry nejsou nic jiného než třídy, které vykonají svůj kód před nebo po určité fázi zpracování požadavku na MVC. Díky nim můžeme nejenom ušetřit psaní kódu, který využíváme ve více kontrolerech či akcích, ale i získáváme dodatečnou kontrolu nad zpracováním požadavku.

Filtry si nebudeme plést s middleware, které fungují podobně, ale aplikují se na každý požadavek (třeba i na požadavky na statické soubory). Filtry se aplikují jen na požadavky na MVC.

Pomocí filtrů framework kontroluje autorizaci, můžeme využít cachování odpovědi, určit globální postup pro zpracování výjimek v kódu apod. Filtry se aplikují na další třídy (kontrolery) jako atributy. Než si náš vlastní filtr napíšeme, přidáme do třídy ControllerExtensions metodu AddDebugMessage(), kterou budeme ve filtru volat.

Třída ControllerExtensions

Přesuneme se do třídy ControllerExtensions nacházející se ve složce Extensions/.

Metoda AddDebugMessage()

Do třídy ControllerExtensions napíšeme metodu AddDebugMessage(), ve které zavoláme přetíženou metodu AddFlashMessage() s vytvořením nového objektu FlashMessage:


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 2 560 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 33 článkům (33 lekcí) tohoto kurzu.

Před koupí tohoto článku je třeba koupit předchozí díl

Obsah článku spadá pod licenci Premium no-reselling II, koupí článku souhlasíš se smluvními podmínkami.

Komerční článek (licence no-reselling)

Komerční článek (licence no-reselling)

Tento článek vznikl na základě mnohaletých zkušeností v oboru a popisuje vývoj profesionálního komerčního produktu nebo jeho součásti, kterou lze přímo využít za účelem zisku nebo proniknutí do komerční sféry IT odvětví.

Tyto vrcholové znalosti zpřístupňujeme samozřejmě pouze některým členům komunity, kteří se mají zájem vypracovat na profesionály v oboru a proto jsou k dispozici pouze za kredity. Kód z článku můžete použít pro jeden svůj komerční projekt. Není ho však možné přeprodávat (jednou zakoupit a poté prodat dále v několika projektech). Pokud potřebujete širší využití kódu, rádi se s vámi domluvíme na komerční licenci. Více informací naleznete v článku Licence.

Jste připraveni stát se profesionály v oboru? Stačí kliknout.

Popis článku

Požadovaný článek má následující obsah:

V ASP.NET Core tutoriálu ošetříme výjimky na úrovni kontroleru. Ukážeme si rozšiřující metody a filtry.

Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Článek pro vás napsal Radek Vymětalík
Avatar
...
Aktivity