Kas ir starpprogrammatūra?
Starpprogrammatūra ir programmatūra, kas tiek samontēta lietojumprogrammu cauruļvados, lai apstrādātu pieprasījumus un atbildes. Katrs komponents:
- Izvēlieties, vai nodot pieprasījumu nākamajam konveijera komponentam.
- Darbu var veikt pirms un pēc nākamā konveijera komponenta izsaukšanas.
Pieprasījumu pārstāvji tiek izmantoti, lai izveidotu pieprasījumu konveijeru, kas apstrādā katru HTTP pieprasījumu.
Pieprasījuma pārstāvji tiek konfigurēti, izmantojot paplašinājuma metodes Izpildīt, Kartēt un Izmantot. Atsevišķu pieprasījuma pārstāvi var norādīt iekļautā anonīmā metodē (ko sauc par iekļauto starpprogrammatūru) vai arī to var definēt atkārtoti izmantojamā klasē. Šīs atkārtoti izmantojamās klases un iekļautās anonimizācijas metodes ir starpprogrammatūra vai starpprogrammatūras komponenti. Katrs starpprogrammatūras komponents pieprasījuma plūsmā ir atbildīgs par nākamā komponenta izsaukšanu cauruļvadā un, ja nepieciešams, saites īssavienojumu.
HTTP moduļu migrēšana uz starpprogrammatūru izskaidro atšķirību starp ASP.NET Core un pieprasījumu konveijeriem iepriekšējās versijās (ASP.NET) un sniedz vairāk starpprogrammatūras piemēru.
Izmantojiet IApplicationBuilder, lai izveidotu starpprogrammatūras konveijeru
ASP.NET Core pieprasījuma process sastāv no pieprasījuma pārstāvju sērijas, kā parādīts nākamajā attēlā (izpildes process seko melnajai bultiņai):
Katrs pārstāvis var veikt darbības pirms un pēc nākamā pārstāvja. Pārstāvis var arī nolemt nenodot pieprasījumu nākamajam pārstāvim, ko pieprasījuma konveijerā sauc par īssavienojumu. Īssavienojums parasti ir vēlams, jo tas ļauj izvairīties no nevajadzīga darba. Piemēram, statiskā faila starpprogrammatūra var atgriezt statiska faila pieprasījumu un īssavienojumu pārējai konveijera daļai. Izņēmumu apstrādes pārstāvji ir jāizsauc konveijera sākumā, lai viņi varētu uztvert izņēmumus vēlākos konveijeros.
Vienkāršākais, iespējams, ir iestatīt pārstāvi ASP.NET Core lietojumprogrammu, lai apstrādātu visus pieprasījumus. Šis scenārijs neietver faktisko pieprasījumu konveijeru. Tā vietā katram HTTP pieprasījumam tiek izsaukta anonīma metode.
Pirmā lietotne. Izpildīt pārstāvi pārtrauc konveijeru.
Ir šāds kods:
Piekļūstot, izmantojot pārlūkprogrammu, tiek konstatēts, ka tas patiešām ir pirmajā lietotnē. Izpilde pārtrauc konveijeru.
Izmantojot lietotni, varat deleģēt vairākus pieprasījumus. Lietošana ir saistīta kopā. Nākamais parametrs apzīmē nākamo pārstāvi konveijerā. (Ņemiet vērā, ka konveijeru var beigt, neizsaucot nākamo parametru.) Parasti varat veikt darbības pirms un pēc nākamās deleģēšanas, kā parādīts šajā piemērā:
Pārlūkprogrammas izmantošana, lai piekļūtu šādiem rezultātiem:
Var redzēt, ka pieprasījuma pārstāvja izpildes secība atbilst iepriekš norādītajai plūsmas diagrammai.
Piezīme:
Pēc tam, kad atbilde ir nosūtīta klientam, nezvaniet tālāk. Izsaukt。 Pēc atbildes sākšanas HttpResponse izmaiņas radīs izņēmumu. Piemēram, iestatot atbilžu galvenes, statusa kodus utt., tiks radīts izņēmums. Uzrakstiet atbildes tekstu pēc nākamā zvana.
var izraisīt līguma pārkāpumu. Piemēram, rakstot vairāk nekā satura garums, kas aprakstīts satura garumā.
Adaptīvā satura formatējums var būt bojāts. Piemēram, ierakstiet HTML kājeni CSS failā.
HttpResponse.HasStarted ir noderīgs padoms, lai norādītu, vai ir nosūtīta atbildes galvene un/vai pamatteksts ir uzrakstīts.
Iebūvēta starpprogrammatūra
ASP.NET Core ir aprīkots ar šādiem starpprogrammatūras komponentiem:
| Starpprogrammatūra | apraksts | | Autentifikācija | Ir pieejams autentifikācijas atbalsts | | KORS | Starpdomēnu resursu koplietošanas konfigurēšana | | Atbildes kešatmiņa | Pieejams kešatmiņas atbildes atbalsts | | Atbildes saspiešana | Atbilžu saspiešanas atbalsta nodrošināšana | | Maršrutēšana | Pieprasījuma maršrutēšanas definēšana un ierobežošana | | Sesija | Nodrošina lietotāju sesiju pārvaldību | | Statiskie faili | Nodrošina atbalstu statiskai failu un direktoriju pārlūkošanai | | URL pārrakstīšanas starpprogrammatūra | Izmanto, lai pārrakstītu URL un pieprasītu atbalstu novirzīšanai |
|