Как я вставляю пользовательские секреты ASP.NET 5 (vNext) в свой собственный class утилиты?

Я уже использовал:
user-secret set "AWSAccessKey" "my access key" и
user-secret set ""AWSSecretKey" "my secret key"

чтобы получить ключи в секретный магазин.

У меня есть этот class, который я буду использовать для отправки электронной почты через SAS Amazon, но я не знаю, как получить ключи от него.

 public class MailHelper { public void SendEmailSes(string senderAddress, string receiverAddress, string subject, string body) { using (var client = new AmazonSimpleEmailServiceClient( new BasicAWSCredentials("[AWSAccessKey]", "[AWSSecretKey]"), RegionEndpoint.USEast1)) { var sendRequest = new SendEmailRequest { Source = senderAddress, Destination = new Destination { ToAddresses = new List { receiverAddress } }, Message = new Message { Subject = new Content(subject), Body = new Body { Text = new Content(body) } } }; var response = client.SendEmail(sendRequest); } } } 

Что мне добавить в мой Startup.cs, чтобы получить эти ключи в моем classе MailHelper? Что нужно добавить к самому classу MailHelper?

Я видел несколько примеров для MVC-controllerов, но я ничего не мог найти для пользовательских classов утилит, которые еще не реализуют некоторый ожидаемый интерфейс.

Класс для ваших настроек:

 public class AwsSettings { public string AccessKey { get; set; } = string.Empty; public string AccessSecret{ get; set; } = string.Empty; } 

если ваши настройки были в config.json, вы сделали бы это следующим образом:

 { "AwsSettings": { "AccessKey": "yourkey", "AccessSecret": "yoursecret" } } 

в Startup вам понадобится следующее:

 services.Configure(Configuration.GetSection("AwsSettings")); 

вашему classу почтовой программы нужны параметры, введенные в конструктор

 using Microsoft.Framework.OptionsModel; public class MailHelper { public MailHelper(IOptions awsOptionsAccessor) { awsSettings = awsOptionsAccessor.Options; } private AwsSettings awsSettings; ... your other methods } 

UserSecrets – это еще один источник настройки, поэтому вместо config.json вы можете поместить настройки там, но вам нужно смоделировать структуру, чтобы она могла сопоставляться с вашим classом, поэтому вы устанавливаете их так: colons:

 user-secret set "AwsSettings:AccessKey" "my access key" and user-secret set "AwsSettings:AccessSecret" "my secret key" 

что эквивалентно структуре, которую я показал для config.json

теперь настройки будут загружаться из секретов пользователя и вводиться в ваш почтовый ящик

Давайте будем гением компьютера.