analyser manuellement ASP.net Core Service dans configureServices
La méthode
dans ASP.NET Core utilisé pour configurer les conteneurs d'injection de dépendance ne fournit pas de méthode pour analyser directement les services. Pour analyser manuellement le service à partir de cette méthode, une autre méthode est requise.
mode du fournisseur de service
Pour analyser les services, ASP.NET Core utilise le modèle du fournisseur de services. Une fois la collection de services construite, il est converti en une instance iServiceProvider , permettant au service d'être analysé.
Proviseur de service d'injection ] Une façon d'analyser un service est d'injecter l'instance
iServiceProvider dans le constructeur de la classe startUp
. Cependant, cette approche donne uniquement accès aux services limités nécessaires injectés par la couche d'hébergement.
] Dans la méthode
Configurer, la iApplicationBuilder
fournit la propriéne applicationservices
, qui contient un fournisseur de services qui peut accéder à tous les services enregistrés.
public void Configure(IApplicationBuilder app)
{
var serviceProvider = app.ApplicationServices;
var fooService = serviceProvider.GetService();
}
Créer un fournisseur de services intermédiaires ] Pour analyser un service dans la méthode
configureServices, vous pouvez créer un fournisseur de services intermédiaire à partir d'une collection de services partiellement construite. Cependant, cela ne comprend que les services enregistrés avant cela.
public void Configure(IApplicationBuilder app)
{
var serviceProvider = app.ApplicationServices;
var fooService = serviceProvider.GetService();
}
Évitez l'analyse manuelle ] Les services d'analyse manuelle ne sont généralement pas recommandés car il viole le principe d'injection de dépendance. Au lieu de cela, utilisez l'injection ou utilisez l'injection du fournisseur de services dans la méthode
Configurer.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3