Сбой подключения к БД при размещении в IIS

#iis #identityserver4

#iis #identityserver4

Вопрос:

Мой IdentityServer работал нормально при самостоятельном размещении (Kestrel), но выдает ошибку при размещении в IIS: «Произошла ошибка при использовании подключения к базе данных ‘MyTestIDS’ на сервере ‘.'» и «Ошибка входа в систему для пользователя ‘(имя моей машины) $'». У меня есть строка подключения, определенная в appsettings.json со значением «Server =.;Database= MyTestIDS;trusted_connection = True;» и она подключается к серверу SQL на моем локальном компьютере. Как я упоминал ранее, до сих пор он работал нормально при самостоятельном размещении, когда я размещаю в IIS. Я проверил свой развернутый код, и appsettings.json есть. Приложение по-прежнему считывает параметры конфигурации из appsettings.json в IIS? Или я должен переместить его в другое место?

Комментарии:

1. У вас разные настройки приложений для разных сред?

2. Спасибо sombrerogalaxy за вопрос. У меня есть appsettings.json и appsettings. Development.json, если это то, что вы спрашиваете. В настоящее время я работаю под значением переменной среды разработки. У меня одна и та же строка подключения, определенная в обоих файлах.

3. Я разобрался с проблемой — формат строки подключения. При slfe-хостинге я использовал «Server =.;Database = MyTestDB;trusted_connection = True;» и там все работало просто отлично. Но в IIS я должен изменить его на что-то вроде «Server = MyServer,MyPort; Database = MyTestDB; идентификатор пользователя = MyUsrID; Пароль = MyPassword». Не уверен, почему, но теперь я работаю нормально.

4. Если ваша проблема решена, я прошу вас опубликовать и отметить полезное предложение в качестве ответа. Это поможет другим людям, которые сталкиваются с той же проблемой. Если ваша проблема все еще существует, попробуйте обратиться к решению, предложенному участниками сообщества. Если у вас также есть какие-либо дополнительные вопросы, сообщите нам об этом. Мы постараемся предоставить дополнительные предложения по решению проблемы. Спасибо за понимание.

5. Привет, Джалпа. Как я объяснил в своем комментарии, я выяснил, как исправить мою проблему, но я не совсем уверен, почему. Поэтому я решил не делать это ответом, чтобы не вводить людей в заблуждение. Но теперь я собираюсь сделать то, о чем вы меня просили — я возьму свой комментарий и сделаю его подтверждением.

Ответ №1:

Я разобрался с проблемой — формат строки подключения. При slfe-хостинге я использовал «Server =.;Database = MyTestDB;trusted_connection = True;» и там все работало просто отлично. Но в IIS я должен изменить его на что-то вроде «Server = MyServer,MyPort; Database = MyTestDB; идентификатор пользователя = MyUsrID; Пароль = MyPassword». Теперь я работаю нормально.