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

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

[.NET Πυρήνας] Το ASP.NET Core χρησιμοποιεί το Autofac για την εφαρμογή της έγχυσης IOC

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 7/5/2019 4:32:23 μ.μ. | | | |
ASP.NET Η έγχυση εξάρτησης πυρήνα χρησιμοποιεί το δοχείο IOC που συνοδεύει
https://www.itsvse.com/thread-7562-1-1.html
(Πηγή: Architect_Programmer)

Το ASP.NET Core χρησιμοποιεί το Autofac για την εφαρμογή της έγχυσης IOC
https://www.itsvse.com/thread-7563-1-1.html
(Πηγή: Architect_Programmer)

Το ASP.NET Core χρησιμοποιεί το Autofac για την υλοποίηση της υποκλοπής AOP
https://www.itsvse.com/thread-7566-1-1.html
(Πηγή: Architect_Programmer)

Το δοχείο IOC που συνοδεύει το ASP.NET Core είναι ελαφρύ και δεν υπάρχουν πολλές λειτουργίες, αλλά μόνο βασικές λειτουργίες.

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

Το Autofac είναι ένα φοβερό κοντέινερ IoC για εφαρμογές Microsoft .NET 4.5, Silverlight 5, Windows Store και εφαρμογές Windows Phone 8. Μπορεί να διαχειριστεί τις εξαρτήσεις μεταξύ των κλάσεων, έτσι ώστε η εφαρμογή να μπορεί εύκολα να τροποποιηθεί καθώς αυξάνεται η κλίμακα και η πολυπλοκότητα. Εφαρμόστε το .

Η έκδοση .NET Core του έργου είναι: 2.1.301

Εγκαταστήστε το Autofac.Extensions.DependencyInjection

Εγκατάσταση μέσω nuget με την ακόλουθη εντολή:



Γράψαμε 3 διεπαφές και 3 υλοποίησης τυχαία, ως εξής:



Έγχυση κατασκευαστή ελεγκτή

Αρχικά, ας τροποποιήσουμε τον κώδικα ConfigureServices στην εκκίνηση ως εξής:

Σημείωση: Η επιστρεφόμενη τιμή του ConfigureServices έχει αλλάξει σε IServiceProvider.

Κωδικός Ελεγκτή:

Εκτελέστε το έργο όπως φαίνεται παρακάτω:



Ελεγκτής Έγχυση χαρακτηριστικού Autofac

Τροποποιήστε τη μέθοδο ConfigureServices στην εκκίνηση ως εξής:

Κωδικός Ελεγκτή:

Εκτελέστε το έργο όπως φαίνεται παρακάτω:



Βασικά σημεία που πρέπει να σημειωθούν:

  • υπηρεσιών. AddMvc(). SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddControllersAsServices();
  • δημόσιοITestService1 _testService1 { get; σειρά; }


Επειδή έβαλα τη διεπαφή υπηρεσίας σε ιδιωτική στην αρχή, η ένεση είναι πάντα μηδενική.

Πόροι:Η σύνδεση με υπερσύνδεσμο είναι ορατή.




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

Mail To:help@itsvse.com