Satura rādītājs:
Definīcija - ko nozīmē lietojumprogrammas domēns?
Lietojumprogrammu domēns ir loģiska izolācijas robeža, kas izveidota ap .NET lietojumprogrammām tā, lai lietojumprogrammas nevarētu piekļūt vai ietekmēt viena otru. Tas ir viegls process, kam ir savs kodu, datu un konfigurācijas iestatījumu komplekts. Lietojumprogrammu domēnus izveido izpildlaika resursdatori, uz kuriem atsaucas vispārējās valodas izpildlaiks (CLR), lai ielādētu izpildāmās lietojumprogrammas.
Pirms .NET izolācijas robeža starp lietojumprogrammām bija procesi, kuros tie tika ielādēti. Katram procesam bija sava privātā virtuālā atmiņa, un tas nevar tieši piekļūt cita procesa atmiņai. Lietojumprogrammas domēnam ir funkcijas, kas ir līdzīgas kā process.
Lietojumprogrammu domēniem ir šādas funkcijas:
- Optimāla sistēmas resursu izmantošana, izmantojot mazāk procesu, lai izpildītu vairākas programmas.
- Uzticamība, izmantojot uzdevumu izolēšanu situācijās, kad datus nevar koplietot, un nestabiliem uzdevumiem, kas jāizkrauj, neietekmējot procesu.
- Labāka efektivitāte, izpildot ilgstošus procesus, kuros reti tiek izmantoti lieli paplašinājumi ar optimālu atmiņu.
- Lietojumprogrammu drošība, ierobežojot tiešu piekļuvi kodam, kas darbojas vienā lietojumprogrammā, no citas programmas koda vai resursiem.
- Drošības kontrole, katram lietojumprogrammas domēnam norādot konfigurācijas informāciju.
Techopedia izskaidro lietojumprogrammu domēnu
Lietojumprogrammu domēns atšķiras pēc veida, kādā CLR ielādē un izpilda vairākas .NET lietojumprogrammas vienā procesā. Tas neļauj tieši piekļūt ielādēto programmu atmiņai. To pārvalda .NET Framework CLR, savukārt procesu pārvalda OS. CLR nodrošina kļūdu atdalīšanu starp lietojumprogrammu domēniem ar mazākām pieskaitāmām vērtībām nekā procesi, jo tai raksturīga pārvaldāmā koda pārbaudāmā tipa drošības iezīme. Vairāki pavedieni var atrasties arī lietojumprogrammu domēnā. Viņi var brīvi šķērsot lietojumprogrammu domēna robežas.
Piemēram, ASP.NET ir izpildlaika resursdators, kas katram lietotājam, kurš piekļūst vietnei, tiek izveidoti vairāki lietojumprogrammu domēni. Tos var arī izveidot un konfigurēt lietojumprogrammām, kurām nepieciešams izolēt kodu vai ielādēt paplašinājumus tikai to lietošanas laikā. Šis fakts padara lietojumprogrammu domēnus noderīgus situācijās, kad tiek izmantoti spraudņi un cits neuzticams kods. Tie ir noderīgi arī, lai samazinātu to lietojumprogrammu komplektu, kuras izmanto lielus DLL.
Lai iespējotu saziņu starp objektiem dažādos lietojuma domēnos, tiek izmantots viens no šādiem trīs objektu veidiem:
- Marshal-By-Value: pilnīga objekta kopija, kas nodota lietojumprogrammas domēnam. To izmanto, ja objekta stāvokli izpildes dēļ var pārvietot.
- Marshal-By-Reference-Reference (MBR): klientam tiek nodots objekta starpniekserveris; izmanto, ja objekta stāvoklim jāpaliek lietojumprogrammas domēnā.
- Saistīts ar kontekstu: MBR objekts, ko izmanto visos domēnos vai sava lietojumprogrammas domēna kontekstā.
