我创建了一个带有用户身份验证的简单 ASP.Net Core 应用程序(因此所有实体框架都已预加载到 Web 应用程序模板中)。它正在连接到我的数据库connectionString
位于我的appsettings.json
文件,与"data source = {computerName}\\{serverName}"
setup.
数据库实例和 Visual Studio 位于同一台计算机上。在开发和调试模式下,这可以很好地将数据返回到 Web api。当我发布它并尝试从域名访问该网站时,它确实允许我查看不需要数据库连接的网页,但其余需要数据库数据的网页返回如下页面:
Error.
处理您的请求时发生错误。
发展模式
切换到开发环境将显示有关所发生错误的更详细信息。
部署时不应启用开发环境
应用程序,因为它可能会导致敏感信息
向最终用户显示的异常。对于本地调试,
可以通过设置来启用开发环境
ASPNETCORE_ENVIRONMENT 环境变量设置为 Development,以及
重新启动应用程序。
我尝试更改环境变量ASPNETCORE_ENVIRONMENT
从开发到生产都没有成功。
我尝试过添加appsettings.Production.json
to publishOptions
in my project.json
文件,即使没有文件appsettings.Production.json
,这没有帮助。点网发布 https://stackoverflow.com/questions/37858312/dotnet-publish-doesn%C2%B4t-publish-correct-appsettings-env-environmentname-json
添加环境变量web.config
文件不起作用部署 https://stackoverflow.com/questions/39737585/asp-net-core-deployment-to-iis-error-development-environment-should-not-be-enab
我需要帮助获取已发布的 Web api,以便从开发 Visual Studio 设置外部连接到我的 SQL Server 数据库。
我能想到的最后一件事是,也许我对连接字符串的理解是错误的。如果 Web api 使用连接字符串从服务器端连接到数据库,那么它应该可以正常工作,就像在开发中调用时一样http://localhost:port#
因为它们都在同一台机器上。但是,如果数据库字符串需要基于客户端调用,那么它必须包含域名和 IP 地址。
有人能告诉我是哪一个吗?
我唯一想到的是,在 IIS 管理器中有些事情我没有做,但需要做。我也在那里看到连接字符串,但不确定这对我们来说是什么,因为连接字符串位于应用程序内部。另外,也许我应该给予应用程序某种与数据库服务器通信的授权,即使它们位于同一台机器上???