.NET 6 Blazor 服务器端在验证用户身份时挂起

问题描述 投票:0回答:2

我正在开发 Blazor 服务器端,它从 API 获取所有数据;与 SQL Server 的唯一连接是对单个用户帐户使用身份验证。

它在开发环境中工作正常,但是当部署到 IIS 时,它在尝试访问托管在同一服务器上的数据库时挂起。

我无法得到确切的错误,因为抛出的警告说:

切换到开发环境显示详细信息 关于发生的错误。开发环境不应该 为已部署的应用程序启用。它可能会导致显示 从异常情况到最终用户的敏感信息。对于本地 调试,通过设置启用开发环境 ASPNETCORE_ENVIRONMENT 环境变量设置为开发和 重新启动应用程序。

我尝试将生产

ASPNETCORE_ENVIRONMENT
设置为
development
的任何内容 - 不幸的是,来自其他帖子的内容并非特定于 .NET 6 上的服务器端 Blazor - 不会显示真正的异常,并且我不断收到该警告。

除了用户名和密码之外,IIS 是否还需要任何其他权限才能从 Blazor 服务器端应用程序访问 SQL Server 数据库?

如何在 .NET 6 Blazor 服务器端应用程序上临时将

ASPNETCORE_ENVIRONMENT
设置为生产环境的“开发”?

sql-server asp.net-identity blazor-server-side
2个回答
1
投票

最终发现问题是 Blazor 尝试从同一服务器访问 SQL,并将子域 sql.[mydomain].com 作为数据源。 开发人员环境可以从互联网访问它,但为了在本地访问它,我必须将条目 127.0.0.1 sql.[mydomain].com 添加到 C:\Windows\System32\drivers tc\host

无论如何,如果有人有任何解决方案来临时显示生产错误,我们将不胜感激


0
投票

要临时显示生产中的错误,您可以将此行添加到主项目文件的

<PropertyGroup>
中:

<EnvironmentName>Development</EnvironmentName>

但请注意,您的生产环境将采用 appsettings.Development.json 文件中定义的设置。

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.