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

В моем web.config, расположенном в корне моего проекта, есть следующее:

<configuration>
  <connectionStrings>
    <clear />  
    <add name="Default" providerName="System.Data.SqlClient" connectionString="Server=tcp:whoops;Encrypt=True;TrustServerCertificate=False;Connection Timeout=3000;" />
  </connectionStrings>
  <appSettings>
    <add key="ConnectionString" value="test"/>
  </appSettings>
  ....

Я прочитал из Startup.cs (это основное веб-приложение asp.net):

 string connection = ConfigurationManager.ConnectionStrings["Default"].ConnectionString;

Однако, когда я нарушу это, ConfigurationManager.ConnectionStrings и ConfigurationManager.AppSettings будут пустыми (ну, у первого есть некоторая строка соединения по умолчанию, которая не та, что в web.config).

Что здесь происходит?

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Не говоря уже о том, что должен сделать это, но вы можете сделать следующее ...

В ASP.Net Core 2.2 вы сможете добавить конфигурацию XMLв IConfigurationBuilder с использованием

configBuilder.AddXmlFile("app.config");

Содержимое в значительной степени соответствует описанному выше ...

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings configSource="connectionStrings.config" />
  <appSettings>
    <add key="Test" value="TestValue" />
  </appSettings>
</configuration>

После этого вы сможете получить доступ к AppSettings / ConnectionStrings с помощью ...

ConfigurationManager.ConnectionStrings

ConfigurationManager.AppSettings.AllKeys
{string[1]}
    [0]: "Test"
ConfigurationManager.AppSettings.Get("Test")
"TestValue"
0 голосов
/ 08 июня 2018

Вам нужно будет перенести конфигурацию в новый файл appsettings.json https://docs.microsoft.com/en-us/aspnet/core/migration/configuration?view=aspnetcore-2.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...