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

Άποψη: 20328|Απάντηση: 0

[Διαδικτυακό API] Στο MVC5 και στο webAPI, χρησιμοποιείται η έγχυση εξάρτησης Autofac

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 29/11/2017 2:35:33 μ.μ. | | | |
Πολλά βιβλία αναφέρουν έννοιες όπως η έγχυση εξάρτησης και η αντιστροφή ελέγχου, οι οποίες στοχεύουν στην επίτευξη χαλαρά συζευγμένων επιπέδων, στοιχείων και σκοπών κλάσης.

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



Τα δημοφιλή δοχεία IoC είναι: Ninject, Autofac, Unity.

Ακολουθεί μια σύντομη εξήγηση του τρόπου χρήσης του Autofac injection MVC5 και Webapi2.

1. Χρησιμοποιήστε το nupkg για να αναφέρετε τα Autofac, Autofac.Mvc5 και Autofac.Webapi2

PM> install-package autofac -έκδοση 3.5.0

PM> πακέτο εγκατάστασης autofac.mvc5

PM> install-package autofac.webapi2 (Σημείωση: Εάν χρησιμοποιείτε webapi2 στο έργο σας, πρέπει να είναι webapi2 και όχι webapi εδώ, διαφορετικά το "Rewrite member Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()" θα εμφανιστεί κατά το χρόνο εκτέλεσης) παραβίασε τους κανόνες ασφάλειας κληρονομιάς. Η προσβασιμότητα ασφαλείας της μεθόδου που παρακάμπτεται πρέπει να ταιριάζει με την ασφαλή προσβασιμότητα της μεθόδου που έχει ξαναγραφτεί. Λανθασμένος. )



2. Καταχωρίστε το στοιχείο.

3. Δημιουργήστε ένα κοντέινερ για μελλοντική χρήση.

var container=οικοδόμος. Build();
4. Δημιουργήστε ένα εύρος διάρκειας ζωής από το κοντέινερ.

5. Χρησιμοποιήστε αυτό το Lifetime Scope για να αναλύσετε περιπτώσεις στοιχείων.

config. DependencyResolver = νέο AutofacWebApiDependencyResolver(container); Για να καταχωρίσετε ένα κοντέινερ API, πρέπει να χρησιμοποιήσετε το αντικείμενο HttpConfiguration
DependencyResolver.SetResolver(νέο AutofacDependencyResolver(κοντέινερ)); Καταχωρίστε το κοντέινερ MVC
6. Στη μέθοδο Register της κλάσης WebApiConfig, καλέστε τον παραπάνω κωδικό βήματος και περάστε το αντικείμενο HttpConfiguration.



Το πλεονέκτημα του autofac είναι ότι μπορεί να αποσυνδεθεί ταυτόχρονα χωρίς την ανάγκη διαμόρφωσης. Το autofac εφαρμόζει καλύτερα την έννοια του "η σύμβαση είναι μεγαλύτερη από τη διαμόρφωση" στο MVC.





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

Mail To:help@itsvse.com