0
votes

Service hébergé de noyau .NET

J'ai besoin d'obtenir une référence du service hébergé enregistré: xxx

IT implémente interface ihostedservice et il commence correctement au démarrage de l'application Web. < P> J'ai besoin d'obtenir le service de service dans certains contrôleurs et d'accéder aux membres du public objet.

Le code suivant ne fonctionne pas. xservice est null. xxx


3 Réponses :


0
votes

J'ai Temporaly géré cela en stockant une référence staticly en classe qui est défini sur le début de la course.


0 commentaires

0
votes

Je déplacerais toutes les fonctionnalités à un singleton, puis dans mon startup, je ferais quelque chose comme xxx

puis je pourrais injecter le singleton dans les contrôleurs.

Je ne sais pas si le noyau gérera la même référence (je pense que dans le noyau 3 sera le cas, pas si sûr de <= 2.2), mais je vais essayer.


0 commentaires

1
votes

[Copier comme réponse]
La réponse qui fonctionne dans .NET CORE 3.1+ a été donnée par @ gunr2171 dans le 3ème commentaire de la question originale:
Ienumerable AllhostedServices = this.serviceProvider.GetService > (); Retournera des références aux instances existantes des services hébergés.


0 commentaires