Mis on Middleware?
Middleware on tarkvara, mis on kokku pandud rakenduste torustikutesse, et hallata päringuid ja vastuseid. Iga komponent:
- Vali, kas edastada päring järgmisele komponendile torujuhtmes.
- Tööd saab teha enne ja pärast järgmise komponendi käivitamist torujuhtmes.
Päringudelegaate kasutatakse päringute torujuhtme ehitamiseks, mis haldab iga HTTP päringut.
Päringudelegaadid konfigureeritakse Run, Map ja Use laienduse meetodite abil. Eraldi päringudelegaati saab määrata anonüümses meetodis (nimetatakse inline middleware) või taaskasutatavas klassis. Need taaskasutatavad klassid ja inline anonümismeetodid on vahendustarkvara või vahendustarkvara komponendid. Iga vahendustarkvara komponent päringuvoos vastutab järgmise komponendi kutsumise eest torujuhtmes ja vajadusel ka lingi lühise kutsumise eest.
HTTP moodulite migreerimine middleware'ile selgitab erinevust ASP.NET Core'i ja päringutorujuhtmete vahel varasemates versioonides (ASP.NET) ning toob rohkem näiteid middleware'i kohta.
Kasuta IApplicationBuilderit, et luua vahendustarkvara torujuhtme
ASP.NET Core päringuprotsess koosneb mitmest päringu delegaatidest, nagu näidatud järgmisel joonisel (täitmisprotsess järgib musta noolt):
Iga delegaat saab teha tegevusi enne ja pärast järgmist delegaati. Volinik võib otsustada ka mitte edastada taotlust järgmisele delegaadile, mida nimetatakse lühiseks taotlustorus. Lühise tekkimine on tavaliselt soovitav, sest see väldib tarbetut tööd. Näiteks võib staatiline failivahendustarkvara tagastada staatilise faili päringu ja lühistada ülejäänud torujuhtme. Erandite käsitlemise delegaadid tuleb käivitada varakult torujuhtmes, et nad saaksid erandeid hilisemates torujuhtmetes tabada.
Kõige lihtsam on ilmselt määrata Core rakenduse ASP.NET delegaat, kes tegeleb kõigi päringutega. See stsenaarium ei hõlma tegelikku päringu torujuhtme. Selle asemel kutsutakse iga HTTP päringu jaoks anonüümne meetod.
Esimene rakendus. Run delegate lõpetab torujuhtme.
On olemas selline kood:
Brauseri kaudu avatuna selgub, et see on tõepoolest esimeses rakenduses. Run lõpetab torujuhtme.
Rakendusega saab delegeerida mitu taotlust. Kasutus on omavahel seotud. Järgmine parameeter tähistab torujuhtme järgmist delegaati. (Pea meeles, et saad torujuhtme lõpetada, kui ei kutsu järgmist parameetrit.) Tavaliselt saab tegevusi teha enne ja pärast järgmist delegeerimist, nagu näidatud järgmises näites:
Brauseri kasutamine tulemuste saamiseks nagu:
On näha, et taotluse delegaadi täitmise järjekord järgib ülaltoodud vooskeemi.
Märkus:
Pärast vastuse saatmist kliendile ära helista järgmisena. Invoke。 Pärast vastuse algust lisavad HttpResponse'i muudatused erandi. Näiteks vastuse päiste, olekukoodide jms seadistamine tekitab erandi. Kirjuta vastuse osa pärast järgmist kõnet.
võib viia kokkuleppe rikkumiseni. Näiteks kirjutada rohkem kui sisupikkus on kirjeldatud sisupikkuses.
Responsiivne sisuvormindus võib olla katki. Näiteks kirjuta HTML jalus CSS-faili.
HttpResponse.HasStarted on kasulik vihje, et näidata, kas vastuse päis on saadetud ja/või sisu on kirjutatud.
Sisseehitatud vahetarkvara
ASP.NET Core sisaldab järgmisi middleware'i komponente:
| Middleware | kirjeldus | | Autentimine | Autentimistugi on saadaval | | CORS | Seadista domeenideülene ressursside jagamine | | Vastusvahemällu salvestamine | Vahemälu vastuse tugi on saadaval | | Vastuse kokkusurumine | Toeta vastuskompressiooni | | Marsruutimine | Määratle ja piira päringute marsruutimist | | Sessioon | Pakub kasutaja sessioonihaldust | | Staatilised failid | Toetab staatiliste failide ja kataloogide sirvimist | | URL Middleware'i ümberkirjutamine | Kasutati URL-ide ümberkirjutamiseks ja ümbersuunamise toe taotlemiseks |
|