c# – 如何将ASP.NET 5(vNext)用户机密注入我自己的实用程序类?

前端之家收集整理的这篇文章主要介绍了c# – 如何将ASP.NET 5(vNext)用户机密注入我自己的实用程序类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经用过了:
user-secret设置“AWSAccessKey”“我的访问密钥”和
用户密码设置“”AWSSecretKey“”我的​​密钥“

让我的钥匙进入秘密商店.

我有这个课程,我将用它来通过Amazon SES发送电子邮件,但我不知道如何将我的密钥插入其中.

  1. public class MailHelper
  2. {
  3. public void SendEmailSes(string senderAddress,string receiverAddress,string subject,string body)
  4. {
  5. using (var client = new AmazonSimpleEmailServiceClient(
  6. new BasicAWSCredentials("[AWSAccessKey]","[AWSSecretKey]"),RegionEndpoint.USEast1))
  7. {
  8. var sendRequest = new SendEmailRequest
  9. {
  10. Source = senderAddress,Destination = new Destination { ToAddresses = new List<string> { receiverAddress } },Message = new Message
  11. {
  12. Subject = new Content(subject),Body = new Body { Text = new Content(body) }
  13. }
  14. };
  15. var response = client.SendEmail(sendRequest);
  16. }
  17. }
  18. }

我在Startup.cs中放了什么才能在MailHelper类中获取这些键?需要添加什么到MailHelper类本身?

我已经看到了MVC控制器的一些示例,但我找不到任何尚未实现某些预期接口的自定义实用程序类.

解决方法

适合您的设置的课程:
  1. public class AwsSettings
  2. {
  3. public string AccessKey { get; set; } = string.Empty;
  4. public string AccessSecret{ get; set; } = string.Empty;
  5. }

如果您的设置在config.json中,您可以这样做:

  1. {
  2. "AwsSettings": {
  3. "AccessKey": "yourkey","AccessSecret": "yoursecret"
  4. }
  5. }

在Startup中你需要这个:

  1. services.Configure<AwsSettings>(Configuration.GetSection("AwsSettings"));

你的邮件程序类需要注入构造函数的设置

  1. using Microsoft.Framework.OptionsModel;
  2.  
  3. public class MailHelper
  4. {
  5. public MailHelper(IOptions<AwsSettings> awsOptionsAccessor)
  6. {
  7. awsSettings = awsOptionsAccessor.Options;
  8. }
  9. private AwsSettings awsSettings;
  10.  
  11. ... your other methods
  12.  
  13. }

UserSecrets只是另一个配置源代码而不是config.json你可以把设置放在那里,但是你需要模拟结构,这样它就可以映射到你的类,所以你用冒号设置它们:

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

这相当于我为config.json展示的结构

现在,设置将从用户机密中加载并注入邮件程序

猜你在找的C#相关文章