Kas yra tarpinė programinė įranga?
Tarpinė programinė įranga yra programinė įranga, surenkama į programų vamzdynus, kad būtų galima apdoroti užklausas ir atsakymus. Kiekvienas komponentas:
- Pasirinkite, ar perduoti užklausą kitam srauto komponentui.
- Darbą galima atlikti prieš ir po kito vamzdyno komponento iškvietimo.
Užklausų atstovai naudojami užklausų srautui, apdorojančiam kiekvieną HTTP užklausą, sukurti.
Užklausų atstovai konfigūruojami naudojant plėtinio Vykdyti, Susieti ir Naudoti metodus. Atskiras užklausos atstovas gali būti nurodytas įdėtuoju anoniminiu metodu (vadinamu inline middleware) arba gali būti apibrėžtas pakartotinai naudojamoje klasėje. Šios daugkartinio naudojimo klasės ir įterpti anonimizavimo metodai yra tarpinė programinė įranga arba tarpinės programinės įrangos komponentai. Kiekvienas užklausos srauto tarpinės programinės įrangos komponentas yra atsakingas už kito vamzdyno komponento iškvietimą ir, jei reikia, nuorodos trumpąjį jungimą.
HTTP modulių perkėlimas į tarpinę programinę įrangą paaiškina skirtumą tarp ASP.NET Core ir užklausų srautų ankstesnėse versijose (ASP.NET) ir pateikia daugiau tarpinės programinės įrangos pavyzdžių.
Naudokite IApplicationBuilder, kad sukurtumėte tarpinės programinės įrangos srautą
"ASP.NET Core" užklausos procesą sudaro užklausų atstovai, kaip parodyta toliau pateiktame paveikslėlyje (vykdymo procesas seka juoda rodykle):
Kiekvienas atstovas gali atlikti veiksmus prieš kitą atstovą ir po jo. Delegatas taip pat gali nuspręsti neperduoti užklausos kitam atstovui, o tai vadinama trumpuoju jungimu užklausų sraute. Paprastai pageidautinas trumpasis jungimas, nes taip išvengiama nereikalingo darbo. Pavyzdžiui, statinio failo tarpinė programinė įranga gali grąžinti statinio failo užklausą ir trumpai sujungti likusį vamzdyną. Išimčių tvarkymo atstovai turi būti iškviesti anksti, kad jie galėtų užfiksuoti išimtis vėlesniuose vamzdynuose.
Paprasčiausias dalykas tikriausiai yra nustatyti atstovą ASP.NET pagrindinę programą, kad būtų tvarkomos visos užklausos. Šis scenarijus neapima faktinio užklausų srauto. Vietoj to, kiekvienai HTTP užklausai iškviečiamas anoniminis metodas.
Pirmoji programa. Vykdyti atstovą nutraukia srautą.
Yra toks kodas:
Pasiekiama per naršyklę, nustatoma, kad ji iš tikrųjų yra pirmojoje programoje. Vykdymas nutraukia srautą.
Naudodami programą galite perduoti kelias užklausas. Naudojimas yra susijęs. Kitas parametras nurodo kitą srauto atstovą. (Atminkite, kad srautą galite užbaigti neiškviesdami kito parametro.) Paprastai galite atlikti veiksmus prieš ir po kito delegavimo, kaip parodyta šiame pavyzdyje:
Naršyklės naudojimas norint pasiekti tokius rezultatus kaip:
Galima pastebėti, kad užklausos atstovo vykdymo tvarka atitinka aukščiau pateiktą struktūrinę schemą.
Nata:
Išsiuntę atsakymą klientui, neskambinkite toliau. Iškviesti。 Paleidus atsakymą, HttpResponse pakeitimai pateiks išimtį. Pavyzdžiui, nustačius atsakymų antraštes, būsenos kodus ir kt., bus padaryta išimtis. Parašykite atsakymo turinį paskambinę toliau.
gali būti pažeistas susitarimas. Pavyzdžiui, rašyti daugiau nei turinio ilgis aprašytas turinio ilgis.
Interaktyvaus turinio formatavimas gali būti sugadintas. Pavyzdžiui, įrašykite HTML poraštę į CSS failą.
HttpResponse.HasStarted yra naudinga užuomina, nurodanti, ar atsakymo antraštė buvo išsiųsta ir (arba) tekstas buvo parašytas.
Integruota tarpinė programinė įranga
"ASP.NET Core" yra su šiais tarpinės programinės įrangos komponentais:
| Tarpinė programinė įranga | apibūdinimas | | Autentifikavimas | Galimas autentifikavimo palaikymas | | KORSAS | Kelių domenų išteklių bendrinimo konfigūravimas | | Atsakymų talpykla | Galimas talpyklos atsakymo palaikymas | | Atsako glaudinimas | Teikite atsakymo glaudinimo palaikymą | | Maršruto parinkimas | Užklausų nukreipimo apibrėžimas ir apribojimas | | Sesija | Teikia vartotojo seansų valdymą | | Statiniai failai | Teikia statinio failų ir katalogų naršymo palaikymą | | URL perrašymo tarpinė programinė įranga | Naudojamas URL perrašyti ir peradresavimams prašyti |
|