Как настроить connectionString при размещении основного приложения .net в IIS, Windows 10? - PullRequest
0 голосов
/ 22 мая 2019

Я следил за этим видео на YouTube о том, как разместить приложение Asp.net Core в IIS , Windows 10. Что работало нормально. Теперь я попытался сделать это, добавив connectionString к экземпляру сервера sql на моем локальном компьютере.

при запуске приложения с использованием Visual Studio оно работает нормально. Однако, когда я публикую это в папке и затем запускаю, используя IIS , он выдает ошибку.

Это мое соединение:

"ConnectionStrings": {
   "MembersDatabase": "Data Source=.;Initial Catalog=MembersDb;Integrated Security=True"
 }

И вот как я к нему обращаюсь:

services.AddDbContext<MembersContext>
                (options => options.UseSqlServer(Configuration.GetConnectionString("MembersDatabase"))
            );

Есть ли особый способ настройки строки подключения ? Я делаю это впервые.

EDIT

Это не производственная установка. Я буду клонировать настоящее приложение на этом ноутбуке. После того, как я успешно завершил установку, этот ноутбук будет использоваться для демонстрации приложения.

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Чтобы устранить проблему,

  1. Я включил смешанную аутентификацию для сервера sql.
  2. Создайте пользователя
  3. Дайте соответствующие учетные данные пользователю (прочитано/ запись)

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

"ConnectionStrings": {
  "MembersDatabase": "Data Source=.;Initial Catalog=MembersDb;User Id=test_user;Password=P@ssword123;"
}
0 голосов
/ 22 мая 2019

Трудно сказать точно, тем более что вы не опубликовали фактическую ошибку, которую получаете.Однако я думаю, что вы не настраиваете строку подключения для своей среды развертывания.

То, как вы это делаете, в настоящее время зависит от LocalDb, который работает / существует только в IDE Visual Studio.При развертывании в IIS вам понадобится реальный экземпляр базы данных и реальные учетные данные базы данных.

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

Теперь есть несколько способов, которыми вы можете перейти сюда.В общем, вы хотите предоставить часть конфигурации, которая переопределит то, что установлено в вашей среде разработки / по умолчанию.Это может быть JSON-файл для конкретной среды, такой как appsettings.Production.json, переменная среды (которую вы устанавливаете вручную на целевом сервере или через конвейер CI / CD) или даже внешний источник, такой как хранилище ключей Azure.Я скажу, что, поскольку строки подключения обычно содержат информацию, которая должна храниться в секрете (пароли), вам следует избегать JSON и других параметров конфигурации на основе файлов, поскольку они не зашифрованы и обычно передаются в систему контроля версий.Переменные среды, хранилище ключей Azure и т. Д. Здесь должны быть вашими решениями.

В любом случае, конфигурация работает буквально на основе переопределения, поэтому вам просто нужно имитировать структуру, присутствующую в вашем appsettings.json.Для источников конфигурации, которые не допускают иерархических структур, таких как JSON, вы можете использовать двоеточия (:) для разделения элементов в дереве: ConnectionStrings:MembersDatabase в качестве ключа конфигурации.Например, в качестве переменной среды это будет имя переменной.

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