Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 20690|Απάντηση: 1

[Πηγή] Σύνοψη της μεθοδολογίας δημιουργίας autofac instance

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 5/1/2018 9:25:48 μ.μ. | | |

1, InstancePerDependency

Δημιουργήστε μια νέα μοναδική παρουσία για κάθε εξάρτηση ή κλήση. Αυτός είναι επίσης ο προεπιλεγμένος τρόπος δημιουργίας παρουσιών.

Η επίσημη τεκμηρίωση εξηγεί: Διαμορφώστε το στοιχείο έτσι ώστε κάθε εξαρτώμενο στοιχείο ή κλήση στο Resolve() να λαμβάνει μια νέα, μοναδική παρουσία (προεπιλογή.)



2, InstancePerLifetimeScope

Σε έναν τομέα κύκλου ζωής, κάθε εξάρτηση ή κλήση δημιουργεί μία κοινόχρηστη παρουσία και για κάθε διαφορετικό τομέα κύκλου ζωής, η παρουσία είναι μοναδική και δεν είναι κοινόχρηστη.

Η επίσημη τεκμηρίωση εξηγεί: Διαμορφώστε το στοιχείο έτσι ώστε κάθε εξαρτώμενο στοιχείο ή κλήση στο Resolve() μέσα σε ένα μόνο ILifetimeScope να λαμβάνει την ίδια, κοινόχρηστη παρουσία. Τα εξαρτώμενα στοιχεία σε διαφορετικά πεδία διάρκειας ζωής θα λάβουν διαφορετικές παρουσίες.



3, InstancePerMatchingLifetimeScope

Σε έναν αναγνωρισμένο τομέα κύκλου ζωής, κάθε εξάρτηση ή κλήση δημιουργεί μια μεμονωμένη κοινόχρηστη παρουσία. Οι παρουσίες στον γονικό τομέα μπορούν να τεθούν σε κοινή χρήση στον τομέα θυγατρικής ταυτότητας του αναγνωρισμένου τομέα κύκλου ζωής. Εάν δεν βρεθεί αναγνωρισμένος τομέας κύκλου ζωής σε ολόκληρη την ιεραρχία μεταβίβασης, δημιουργείται μια εξαίρεση: DependencyResolutionException.

Η επίσημη τεκμηρίωση εξηγεί: Διαμορφώστε το στοιχείο έτσι ώστε κάθε εξαρτώμενο στοιχείο ή κλήση στο Resolve() μέσα σε ένα ILifetimeScope με ετικέτα με οποιαδήποτε από τις παρεχόμενες τιμές ετικετών να λαμβάνει την ίδια, κοινόχρηστη παρουσία. Τα εξαρτώμενα στοιχεία σε εμβέλειες διάρκειας ζωής που είναι θυγατρικά του εύρους με ετικέτα θα μοιράζονται την παρουσία του γονικού στοιχείου. Εάν δεν μπορεί να βρεθεί εύρος με κατάλληλη ετικέτα στην ιεραρχία, εμφανίζεται ένα DependencyResolutionException.



4, InstancePerOwned

Στον κύκλο ζωής μιας παρουσίας που δημιουργήθηκε από μια παρουσία που ανήκει σε έναν τομέα κύκλου ζωής, κάθε εξαρτώμενο στοιχείο ή κλήση στη μέθοδο Resolve() δημιουργεί μια μεμονωμένη κοινόχρηστη παρουσία και ο θυγατρικός τομέας κύκλου ζωής μοιράζεται τις παρουσίες στον γονικό τομέα κύκλου ζωής. Εάν δεν βρεθεί κατάλληλος τομέας κύκλου ζωής με θυγατρικές παρουσίες στην ιεραρχία μεταβίβασης, δημιουργείται μια εξαίρεση: DependencyResolutionException.

Η επίσημη τεκμηρίωση εξηγεί: Διαμορφώστε το στοιχείο έτσι ώστε κάθε εξαρτώμενο στοιχείο ή κλήση στο Resolve() μέσα σε ένα ILifetimeScope που δημιουργήθηκε από μια ιδιόκτητη παρουσία να λαμβάνει την ίδια, κοινόχρηστη παρουσία. Τα εξαρτώμενα στοιχεία σε πεδία διάρκειας ζωής που είναι θυγατρικά της εμβέλειας παρουσίας που ανήκει θα μοιράζονται την παρουσία του γονικού. Εάν δεν μπορεί να βρεθεί το κατάλληλο πεδίο παρουσίας ιδιοκτησίας στην ιεραρχία, εμφανίζεται ένα DependencyResolutionException.



5, SingleInstance

Κάθε φορά που εξαρτάστε από ένα στοιχείο ή καλείτε τη μέθοδο Resolve(), λαμβάνετε την ίδια κοινόχρηστη παρουσία. Στην πραγματικότητα, είναι ένα μοντέλο singleton.

Η επίσημη τεκμηρίωση εξηγεί: Διαμορφώστε το στοιχείο έτσι ώστε κάθε εξαρτώμενο στοιχείο ή κλήση στο Resolve() να λαμβάνει την ίδια, κοινόχρηστη παρουσία.



6, InstancePerHttpRequest



Στο πλαίσιο μιας αίτησης Http, μοιραστείτε μια παρουσία ενός στοιχείου. Διαθέσιμο μόνο για asp.net ανάπτυξη MVC.
Η επίσημη τεκμηρίωση εξηγεί: Μοιραστείτε μια παρουσία του στοιχείου στο πλαίσιο ενός μεμονωμένου αιτήματος HTTP.
Επίσημος σύνδεσμος τεκμηρίωσης: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html




Προηγούμενος:asp.net Λήψη αρχείου καταλόγου τοποθεσίας είναι κενό
Επόμενος:Αντικατάσταση πυρήνα GeckoFx Firefox, απενεργοποίηση αναδυόμενης προειδοποίησης συστήματος
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com