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

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

[Συμβουλές] .NET/C# εγγραφή υπηρεσίας έγχυσης εξάρτησης Εργαλείο Scrutor

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2025-9-4 09:37:00 | | |
Απαιτήσεις: Όταν το έργο είναι σχετικά μεγάλο και η σύνταξη γραφής είναι πολύ τυποποιημένη, όταν προσθέτουμε μια διεπαφή, πρέπει να την προσθέσουμε χειροκίνητα στο κοντέινερ IServiceCollection, έτσι ώστε η διεπαφή να μπορεί να εισαχθεί στον κατασκευαστή. Το εργαλείο Scrutor είναι πολύ βολικό για εμάς να προσθέτουμε αυτόματα σύμφωνα με τη διαμόρφωση των κανόνων μας.

Ελεγκτής

Microsoft.Extensions.DependencyInjection για συναρμολόγηση, σάρωση και διακόσμηση επεκτάσεων.

Διεύθυνση πηγαίου κώδικα:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

αναθεώρηση

Κοιτάζοντας πίσω στην εγγραφή της υπηρεσίας, οι τρεις τρόποι έγχυσης μονήρους είναι οι εξής:

Εγγραφή υπηρεσίας

Ας υποθέσουμε ότι έχετε μια δομή κώδικα όπως αυτή:

Ορισμοί διεπαφής
δημόσια διεπαφή IUserService { }
δημόσια διεπαφή IOrderService { }

Κλάση υλοποίησης
δημόσια τάξη UserService : IUserService { }
δημόσια τάξη OrderService : IOrderService { }

πριν

Απαιτείται εγγραφή μία προς μία και ο κωδικός έχει ως εξής:

Ή γράψτε τη δική σας μέθοδο και καταχωρίστε την μέσω προβληματισμού (Στην πραγματικότητα, ο Scrutor είναι επίσης μέσω προβληματισμού), ως εξής:

μετά

Το Scrutor καθιστά πολύ βολική την καταχώριση σάρωσης συγκροτημάτων, ειδικά για την αυτόματη καταχώριση πολλαπλών κλάσεων υπηρεσιών (π.χ. UserService καταχωρημένη ως IUserService). Οι εξαρτήσεις πακέτων είναι οι εξής:

Ο κωδικός έχει ως εξής:

Ερμηνεία:
  • . FromAssemblyOf<UserService>(): Καθορίζει τη συγκρότηση για σάρωση.
  • . AddClasses(): Σαρώνει όλες τις στο σύνολο συναρμολόγησης.
  • . AsImplementInterfaces(): Καταχωρεί αυτόματα τις διεπαφές για αυτές τις καθώς υλοποιούνται.
  • . WithScopedLifetime(): Ορίστε τη διάρκεια ζωής σε Scoped, η οποία μπορεί επίσης να είναι WithTransientLifetime() ή WithSingletonLifetime().

(Τέλος)




Προηγούμενος:Το .NET/C# μετατρέπει αρχεία PDF σε εικόνες με βάση το ImageMagick, το GhostScript
Επόμενος:Το Alibaba Cloud προσαρτά το OSS στον κατάλογο συστήματος Linux
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com