Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει Domain Application;
Ο τομέας εφαρμογής είναι ένα λογικό όριο απομόνωσης που δημιουργείται γύρω από εφαρμογές .NET, έτσι ώστε οι εφαρμογές να μην έχουν πρόσβαση ή να αλληλεπιδρούν μεταξύ τους. Πρόκειται για μια διαδικασία ελαφρού βάρους που έχει το δικό της σύνολο κωδικών, δεδομένων και ρυθμίσεων διαμόρφωσης. Οι τομείς εφαρμογής δημιουργούνται από τους κεντρικούς υπολογιστές εκτέλεσης χρόνου εκτέλεσης, οι οποίοι καλούνται από τον κοινό χρόνο εκτέλεσης γλώσσας (CLR) για τη φόρτωση των εφαρμογών που πρέπει να εκτελεστούν.
Πριν από το .NET, το όριο απομόνωσης μεταξύ των εφαρμογών ήταν οι διαδικασίες στις οποίες φορτώθηκαν. Κάθε διαδικασία είχε τη δική της ιδιωτική εικονική μνήμη και δεν μπορεί να έχει άμεση πρόσβαση στη μνήμη μιας άλλης διαδικασίας. Ο τομέας εφαρμογής έχει χαρακτηριστικά παρόμοια με εκείνα μιας διαδικασίας.
Οι τομείς εφαρμογών έχουν τις ακόλουθες δυνατότητες:
- Βέλτιστη χρήση των πόρων του συστήματος με τη χρήση λιγότερων διαδικασιών για την εκτέλεση πολλαπλών εφαρμογών.
- Αξιοπιστία χρησιμοποιώντας απομόνωση εργασιών σε καταστάσεις όπου τα δεδομένα δεν μπορούν να μοιραστούν και για ασταθή καθήκοντα που πρέπει να εκφορτωθούν χωρίς να επηρεαστεί η διαδικασία.
- Μεγαλύτερη αποδοτικότητα εκτελώντας μακροχρόνιες διαδικασίες που σπάνια χρησιμοποιούν μεγάλες επεκτάσεις με βέλτιστη μνήμη.
- Ασφάλεια εφαρμογής περιορίζοντας την άμεση πρόσβαση στον κώδικα που εκτελείται σε μία εφαρμογή από τον κώδικα ή τους πόρους μιας άλλης εφαρμογής.
- Έλεγχος ασφαλείας καθορίζοντας λεπτομερώς τις ρυθμίσεις για κάθε τομέα εφαρμογής.
Η Techopedia εξηγεί τον τομέα εφαρμογής
Ο τομέας εφαρμογής διαφέρει κατά τον τρόπο με τον οποίο το CLR φορτώνει και εκτελεί πολλαπλές εφαρμογές .NET σε μία μόνο διαδικασία. Δεν επιτρέπει την άμεση πρόσβαση στη μνήμη των εφαρμογών που έχουν φορτωθεί. Διαχειρίζεται το CLR του .NET Framework, ενώ μια διαχείριση γίνεται από το λειτουργικό σύστημα. Το CLR παρέχει απομόνωση σφαλμάτων μεταξύ τομέων εφαρμογής με λιγότερα έξοδα από τις διαδικασίες, λόγω του εγγενούς χαρακτηριστικού της επαληθεύσιμης ασφάλειας τύπου του διαχειριζόμενου κώδικα. Επίσης, πολλά θέματα μπορούν να ανήκουν σε έναν τομέα εφαρμογής, είναι ελεύθερα να διασχίζουν τα όρια του τομέα εφαρμογής.
Για παράδειγμα, το ASP.NET είναι ένα host runtime που δημιουργεί πολλαπλούς τομείς εφαρμογών για κάθε χρήστη που έχει πρόσβαση σε μια τοποθεσία Web. Μπορούν επίσης να δημιουργηθούν και να διαμορφωθούν για εφαρμογές που πρέπει να απομονώσουν κώδικα ή να φορτώσουν επεκτάσεις μόνο κατά τη χρήση τους. Αυτό το γεγονός καθιστά τους τομείς εφαρμογών χρήσιμοι σε καταστάσεις όπου χρησιμοποιούνται plug-ins και άλλος μη αξιόπιστος κώδικας. Είναι επίσης χρήσιμες για την ελαχιστοποίηση του συνόλου εργασίας των εφαρμογών που χρησιμοποιούν μεγάλα DLL.
Για να ενεργοποιήσετε την επικοινωνία μεταξύ αντικειμένων σε διαφορετικούς τομείς εφαρμογής, χρησιμοποιείται ένας από τους ακόλουθους τρεις τύπους αντικειμένων:
- Marshal-By-Value: Πλήρες αντίγραφο του αντικειμένου που μεταβιβάζεται στον τομέα της εφαρμογής που καλεί. Αυτό χρησιμοποιείται όταν η κατάσταση του αντικειμένου μπορεί να μετακινηθεί για λόγους απόδοσης.
- Μάρσαλ με αναφορά αναφοράς (MBR): Ένας πληρεξούσιος του αντικειμένου μεταβιβάζεται στον πελάτη. χρησιμοποιείται όταν η κατάσταση του αντικειμένου πρέπει να παραμείνει εντός του πεδίου εφαρμογής.
- Περιορισμένο πλαίσιο: Το αντικείμενο MBR που χρησιμοποιείται σε όλους τους τομείς ή στο πλαίσιο του τομέα εφαρμογής του.
