не могу читать с дочернего web.config - PullRequest
0 голосов
/ 12 июня 2018

Мой корневой web.config содержит:

<configuration>
    <configSections>
    ....
    </configSections>
    <appSettings>
        <add key="webpages:Version" value="3.0.0.0" />
        <add key="webpages:Enabled" value="false" />
        ....
    </appSettings>
    ....
<configuration>

Я создал другой файл web.config в расположении ~Credentials/web.config, который содержит:

<configuration>
    <appSettings>
        <add key="mail.smtpServer" value="smtp.gmail.com" />
        <add key="mail.port" value="587" />
    </appSettings>
</configuration>  

внутри моего контроллера, который я пытаюсьчтобы получить к ним доступ следующим образом:

private readonly string _smtpServer = ConfigurationManager.AppSettings["mail.smtpServer"];
private readonly int _port = Convert.ToInt32(ConfigurationManager.AppSettings["mail.port"]);  

если настройки почты находятся в корне web.config, то контроллер может их прочитать, но если настройки находятся в дочернем элементе web.config, он не может их найти, они остаются нулевыми.как я могу решить это?

1 Ответ

0 голосов
/ 12 июня 2018

Это может быть проблема иерархии.Корневой файл веб-конфигурации записывает правила конфигурации корневой папки и последующих подпапок.Но корневые параметры конфигурации могут быть перезаписаны файлом web.config в корне подпапки.если ваши контроллеры находятся в корневой папке ~ учетные данные или в ее подпапках, дочерний web.config может перезаписать параметры, заданные вами в корневой веб-конфигурации.

<configuration>
    <configSections>
    ....
    </configSections>
    <appSettings>
        <add key="webpages:Version" value="3.0.0.0" />
        <add key="webpages:Enabled" value="false" />
        <add key="mail.smtpServer" value="" />
        <add key="mail.port" value="" />
        ....
    </appSettings>
    ....
</configuration>

и дочерний web.config

<configuration>
    <appSettings>
        <add key="mail.smtpServer" value="smtp.gmail.com" />
        <add key="mail.port" value="587" />
    </appSettings>
</configuration>  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...