Lire appsettings.json à partir d'une classe .NET Core 2
J'ai besoin de lire une liste de propriétés de appsettings.json
fichier (section: placeto
) dans une entreprise de classe, mais je n'ai pas été en mesure d'y accéder. J'ai besoin de ces propriétés publiques.
- Je ajouter le fichier dans le Program
classe:
C'est mon appsettings.json
:
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"placeto": {
"login": "fsdfsdfsfddfdfdfdf",
"trankey": "sdfsdfsdfsdfsdf"
}
}
Double Possible de stackoverflow.com/questions/46632090/...
Cette documentation de MS expliquer comment => docs.microsoft.com/en-us/aspnet/core/fundamentals/...
mais j'ai besoin de lire dans la classe personnalisée, l'exemple est dans les contrôleurs et je n'en ai essayé plusieurs options. dans .Net standard utilisé " string userName = Système.La Configuration.ConfigurationManager.AppSettings["PFUserName"]; " pour lire web.config, dans .Net de base qui est l'équivalent @CodeNotFound
La réponse que je vous montre comment utiliser
Cette documentation de MS expliquer comment => docs.microsoft.com/en-us/aspnet/core/fundamentals/...
mais j'ai besoin de lire dans la classe personnalisée, l'exemple est dans les contrôleurs et je n'en ai essayé plusieurs options. dans .Net standard utilisé " string userName = Système.La Configuration.ConfigurationManager.AppSettings["PFUserName"]; " pour lire web.config, dans .Net de base qui est l'équivalent @CodeNotFound
La réponse que je vous montre comment utiliser
appsettings.json
dans une classe. Dans ce cas, est un LocalMailService
mais il pourrait être tout ce que vous voulez qu'il soit.
OriginalL'auteur Jhon Diaz | 2017-11-21
Vous devez vous connecter pour publier un commentaire.
Première : Utilisez la valeur par défaut dans
program.cs
pour il fait déjà Configuration:Deuxième : Créer une Interface pour votre classe et de passer de la configuration avec l'injection de dépendance par la création de
Iconfiguration
champ:puis passer par le constructeur:
Puis créer une interface pour votre classe afin d'utiliser
Dependency Injection
correctement. Ensuite, on peut créer des instances de celui-ci sans avoir besoin de passerIConfiguration
.Ici est la classe et d'Interface:
Troisième: Alors à votre démarrage.cs mettre en œuvre l'Injection de Dépendance pour votre classe en appelant:
dans votre
ConfigureServices
méthodeMaintenant, vous pouvez passer votre instances de classe à n'importe quelle classe utilisée par l'Injection de Dépendance.
Par exemple, si vous avez
ExampleController
que vous voulez utiliser votre classe au sein d'effectuer les opérations suivantes:Et maintenant vous avez _test instance pour y accéder de n'importe où dans votre contrôleur.
OriginalL'auteur Mohamad Elnaqeeb