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

Άποψη: 57373|Απάντηση: 4

[Πηγή] ASP.NET Πυρήνας (VI) Το DI λαμβάνει χειροκίνητα τη μέθοδο έγχυσης αντικειμένων

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2021-3-19 15:13:15 | | |
Εκμάθηση σχετικά με ASP.NET Core Dependency Injection, Control Inversion (DI IOC):

ASP.NET Η έγχυση εξάρτησης πυρήνα χρησιμοποιεί το δοχείο IOC που συνοδεύει
https://www.itsvse.com/thread-7562-1-1.html


Αναθεώρηση:

ASP.NET Ο πυρήνας (πέντε) βασίζεται σε κατανεμημένες συναλλαγές της ΚΓΠ
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Επικύρωση ενοποιημένου μοντέλου ModelState φίλτρου Core(4)
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Πυρήνας (iii) Δημιουργήστε δυναμικά παρουσίες χρησιμοποιώντας το ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Πυρήνας (2) Επανεκκινήστε την εφαρμογή με κωδικό
https://www.itsvse.com/thread-9480-1-1.html

Το ASP.NET Core (1) χρησιμοποιεί προσωρινή αποθήκευση Redis
https://www.itsvse.com/thread-9393-1-1.html
Ένεση εξάρτησης με λίγα λόγια:

Η έγχυση εξάρτησης (DI) είναι μια τεχνική που εφαρμόζει χαλαρή σύζευξη μεταξύ ενός αντικειμένου και των συνεργατών ή των εξαρτήσεών του. Παρέχετε αυτά τα αντικείμενα που χρησιμοποιεί η κλάση για να εκτελέσει τις λειτουργίες της στην κλάση με κάποιο τρόπο, αντί να ενσαρκώνετε απευθείας συνεργάτες ή να χρησιμοποιείτε στατικές αναφορές.

ASP.NET Το Core DI χρησιμοποιεί γενικά την έγχυση κατασκευαστή για τη λήψη αντικειμένων, όπως μετά τη διαμόρφωση της έγχυσης ConfigureServices, μπορεί να ληφθεί με τους ακόλουθους τρόπους:


Τι γίνεται αν πάρετε χειροκίνητα το αντικείμενο της ένεσης;

Ο πρώτος τρόπος για να το αποκτήσετε(Μερικές φορές δεν μπορείς να το πάρεις,Δεν συνιστάται):


Ο δεύτερος τρόπος για να το αποκτήσετεΣυνιστώμενη χρήση):

Σημείωση: Θα πρέπει να σημειωθεί ότι χρησιμοποιώντας το ServiceLocator.Instance.GetService<T>(); ,Μόνο τα αντικείμενα που εισάγονται από το AddTransient και το AddSingleton μπορούν να ληφθούνκαι δεν μπορεί να αποκτήσει το αντικείμενο που έχει εισαχθεί του AddScoped (μοναδικό στον κύκλο ζωής του αιτήματος), όχι επειδή δεν μπορεί να ληφθεί, αλλά επειδή το αντικείμενο που αποκτήθηκε δεν λαμβάνεται από τον κατασκευαστή, δηλαδή το αντικείμενο που αποκτήθηκε δεν είναι κοινόχρηστο και το σενάριο χρήσης είναι όπως το IUnitOfWork.

Πώς λοιπόν λαμβάνετε χειροκίνητα τα αντικείμενα έγχυσης κατά τη διάρκεια του κύκλου ζωής του αιτήματος; Δείτε πώς:


ή

Η διασύνδεση IHttpContextAccessor βρίσκεται κάτω από το πακέτο Microsoft.AspNetCore.Http.AbstractionsNuget.




Προηγούμενος:HttpClient POST απευθείας για αποστολή αιτημάτων συμπίεσης byte byte (gzip)
Επόμενος:Η διαφορά μεταξύ του μεταγλωττιστή Roslyn MSBuild
Δημοσιεύτηκε στις 2021-9-22 20:43:14 |
Μάθε να μαθαίνεις...
Δημοσιεύτηκε στις 2021-9-22 20:55:17 |
Μάθε να μαθαίνεις...
Δημοσιεύτηκε στις 2022-6-17 16:05:39 |
Μάθετε πώς να το χρησιμοποιείτε
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2024-12-30 17:09:09 |
Η κονσόλα εισάγει τη διεπαφή IHttpContextAccessor:



Οι υπηρεσίες κονσόλας .NET/C# καταχωρούνται στην ανακάλυψη υπηρεσιών Consul
https://www.itsvse.com/thread-10899-1-1.html
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com