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í.

13. diel - E-shop v ASP.NET - Základ - Výnimky a filtre

V minulej lekcii, E-shop v ASP.NET - Základ - Systém správ , sme implementovali systém správ pre používateľov.

V dnešnom ASP.NET Core tutoriále ošetríme výnimky na úrovni kontroléra pomocou filtrov. Využijeme pri tom aj systém správ pre užívateľov.

Budeme pracovať iba v aplikačnej vrstve, teda v projekte Eshop.

Aby sme nemuseli v jednotlivých akciách kontroléra opakovane používať chránený blok (try... catch), využijeme mechanizmu filtrov, ktorý nám ASP.NET Core poskytuje.

Filtre nie sú nič iné ako triedy, ktoré vykonajú svoj kód pred alebo po určitej fáze spracovania požiadavky na MVC. Vďaka nim môžeme nielen ušetriť písanie kódu, ktorý využívame vo viacerých kontroléroch či akciách, ale aj získavame dodatočnú kontrolu nad spracovaním požiadavky.

Filtre si nebudeme pliesť s middleware, ktoré fungujú podobne, ale aplikujú sa na každú požiadavku (napríklad aj na požiadavky na statické súbory). Filtre sa aplikujú len na požiadavky na MVC.

Pomocou filtrov framework kontroluje autorizáciu, môžeme využiť cachovanie odpovede, určiť globálny postup pre spracovanie výnimiek v kóde a pod. Filtre sa aplikujú na ďalšie triedy (kontroléry) ako atribúty. Kým si náš vlastný filter napíšeme, pridáme do triedy ControllerExtensions metódu AddDebugMessage(), ktorú budeme vo filtri volať.

Trieda ControllerExtensions

Presunieme sa do triedy ControllerExtensions nachádzajúcej sa v priečinku Extensions/.

AddDebugMessage()

Do triedy ControllerExtensions napíšeme metódu AddDebugMessage(), v ktorej zavoláme preťaženú metódu AddFlashMessage() s vytvorením nového objektu FlashMessage:

 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.

Kúpiť tento kurz

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh iba za 2 560 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto balíčku získaš prístup ku všetkým 33 článkom (33 lekcií) tohoto kurzu.

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Obsah článku spadá pod licenciu Premium no-reselling II, kúpou článku súhlasíš so zmluvnými podmienkami.

Komerčný článok (licencia no-reselling)

Komerčný článok (licencia no-reselling)

Tento článok vznikol na základe mnohoročných skúseností v odbore a opisuje vývoj profesionálneho komerčného produktu alebo jeho súčasti, ktorú možno priamo využiť za účelom zisku alebo k preniknutiu do komerčnej sféry IT odvetvia.

Tieto vrcholové znalosti sprístupňujeme samozrejme iba niektorým členom komunity, ktorí sa majú záujem vypracovať na profesionálov v odbore a preto sú k dispozícii len za kredity. Kód z článku môžete použiť pre jeden svoj komerčný projekt. Nie je ho však možné prepredávať (raz zakúpiť a následne predať ďalej v niekoľkých projektoch). Ak potrebujete širšie využitie kódu, radi sa s vami dohodneme na komerčnej licencii. Viac informácií nájdete v článku Licencia.

Ste pripravení stať sa profesionálmi v odbore? Stačí kliknúť.

Popis článku

Požadovaný článok má nasledujúci obsah:

V ASP.NET Core tutoriále ošetríme výnimky na úrovni kontroléra. Ukážeme si rozširujúce metódy a filtre.

Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.

Článok pre vás napísal Radek Vymětalík
Avatar
...
Aktivity