.net Core项目 IIS部署运行异常信息输出
问题描述
正常情况下 .NET Core 项目在IIS部署后,如果程序运行出现异常
界面是这个样子的
Error.
An error occurred while processing your request.
Request ID: 00-040d06cec78c404bbdaf9fd825791b18-cafaa6a02eb62942-00
Development Mode
Swapping to Development environment will display more detailed information about the error that occurred.
The Development environment shouldn't be enabled for deployed applications. It can result in displaying sensitive information from exceptions to end users. For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development and restarting the app.
解决方案
有时需要在现场环境查看报错信息,但是如果环境变量为 Production 会屏蔽报错信息,修改环境变量只需要在部署文件夹下找到 web.config 文件,修改 aspNetCore 标签为如下内容即可
开发模式
切换到开发环境将显示有关发生的错误的更多详细信息。
不应为已部署的应用程序启用开发环境。 它可能导致向最终用户显示来自异常的敏感信息。 对于本地调试,通过将 ASPNETCORE_ENVIRONMENT 环境变量设置为 Development 并重新启动应用程序来启用开发环境。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\H5PayServer.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: db71daa9-d99a-4e24-8efa-ba3708b0517a-->