Я создал простое приложение ASP.Net Core с аутентификацией пользователя (так что все Entity Framework были предварительно загружены в шаблон веб-приложения). Он подключается к моей базе данных с помощью connectionString
, который находится в моем файле appsettings.json
, с установкой "data source = {computerName}\\{serverName}"
.
Экземпляр базы данных и Visual Studio расположены на одной машине. Это прекрасно работает с возвратом данных в веб-api в режиме разработки и отладки. Когда я публикую его и пытаюсь перейти на сайт с имени домена, он позволяет мне просматривать веб-страницы, которые не нуждаются в подключении к базе данных, а остальные, которые нуждаются в данных из базы данных, возвращают такие страницы:
Error.
Во время обработки Вашего запроса произошла ошибка. Режим разработки В среде Swapping to Development будет отображаться более подробная информация о произошедшей ошибке.Среда разработки не должна быть включена в развернутом приложений, так как это может привести к исключения отображаются конечным пользователям. Для локальной отладки, среды разработки можно включить, установив Переменная среды ASPNETCORE_ENVIRONMENT для разработки и перезапуск приложения.
Я попытался изменить переменные среды для ASPNETCORE_ENVIRONMENT
от разработки до производства без успеха.
Я попытался добавить appsettings.Production.json
в publishOptions
в мой файл project.json
, хотя файл appsettings.Production.json
отсутствует, и это не помогло. публикация в dotnet
Добавление переменной evironment в файл web.config
не работает Deployment
Мне нужна помощь в получении опубликованного веб-api для подключения к моей базе данных SQL Server вне разработки Visual Studio.
Последнее, что я могу придумать, это то, что, возможно, я ошибаюсь в том, как я понимаю строку соединения. Если web api использует строку подключения для подключения к базе данных с серверной стороны, тогда она должна работать так же хорошо, как в случае разработки при вызове http://localhost:port#
, поскольку все это на одном компьютере. Но если строка базы данных должна основываться на вызове на стороне клиента, тогда она должна быть с именами доменов и IP-адресами.
Может кто-нибудь сказать мне, какой из них?
Единственное, что приходит на ум, - это то, что я не делаю и что нужно делать внутри диспетчера IIS. Я также вижу строку со связью, но не знаю, что это для нас, потому что строка подключения находится внутри приложения. Кроме того, возможно, я должен дать приложению какое-то разрешение для связи с сервером базы данных, даже если они находятся на одной машине???