конвертировать настройки электронной почты из web.config в appsettings.json - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь преобразовать следующие строки в файле .net 4.7 web.config:

<mailSettings> 
    <smtp deliveryMethod="SpecifiedPickupDirectory">
        <specifiedPickupDirectory pickupDirectoryLocation="C:\folder"/>
    </smtp> 
</mailSettings>

в конфигурацию core 2 appsettings.json, ЕСЛИ возможно что-то вроде:

{
    "mailSettings": {
    "DeliveryMethod ": "SpecifiedPickupDirectory",
    "pickupDirectoryLocation": "C:\folder"
     }
}

Но я не уверен, возможно ли это в ядре 2 или что-то такое, чего нельзя сделать с помощью конфигурации, как это было сделано в .net 4.7+.Любые отзывы / советы / обходные пути приветствуются.

Ответы [ 2 ]

0 голосов
/ 15 сентября 2018

Вам нужно сделать пару вещей, прежде чем вы сможете сделать это с помощью конфигурации.

Шаг 1: Разбор Json

{
 "mailSettings": {
    "smtp": {
        "specifiedPickupDirectory": {
            "_pickupDirectoryLocation": "C:\\folder"
        },
        "_deliveryMethod": "SpecifiedPickupDirectory"
    }
  }
}

Шаг 2. При поиске при загрузке и настройке почтовой рассылки

var mailSettings = Configuration.GetSection("mailSettings");

Шаг 3: Поместите почтовый конфиг в ваш класс с чем-то вроде этого.

services.Configure<MailingOptions>(options =>
{
    options.smtp = mailSettings["smtp"];
});

Посмотрите на .. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.1

0 голосов
/ 15 сентября 2018

Вы немного не в себе - попробуйте:

{
  "mailSettings": {
    "smtp": {
      "deliveryMethod": "SpecifiedPickupDirectory",
      "specifiedPickupDirectory": { 
         "pickupDirectoryLocation": "C:\\folder" 
      }
    }
  }
}
...