Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Core在Program.cs和Startup.cs内捕获和显示错误_C#_Asp.net_Asp.net Core - Fatal编程技术网

C# ASP.NET Core在Program.cs和Startup.cs内捕获和显示错误

C# ASP.NET Core在Program.cs和Startup.cs内捕获和显示错误,c#,asp.net,asp.net-core,C#,Asp.net,Asp.net Core,我正在将我的应用程序转移到其他主机,设置时遇到问题 我创建了一个空白的asp.NETCore2.1应用程序,并将其部署到主机上,它可以正常工作。之后,我将连接字符串添加到数据库中并尝试从中读取,它也可以工作。然后,我将已经工作的应用程序部署到该主机上,但它不工作。我看到的唯一问题是Program.cs或Startup.cs中有错误,但如何显示我在这些文件中输入的try/catch错误?您无法在web浏览器中呈现有错误的HTML页面,因为此时应用程序未正确配置/运行 正确的方法是调查错误日志,不管

我正在将我的应用程序转移到其他主机,设置时遇到问题


我创建了一个空白的asp.NETCore2.1应用程序,并将其部署到主机上,它可以正常工作。之后,我将连接字符串添加到数据库中并尝试从中读取,它也可以工作。然后,我将已经工作的应用程序部署到该主机上,但它不工作。我看到的唯一问题是
Program.cs
Startup.cs
中有错误,但如何显示我在这些文件中输入的
try/catch
错误?

您无法在web浏览器中呈现有错误的HTML页面,因为此时应用程序未正确配置/运行

正确的方法是调查错误日志,不管它们存储在哪里(取决于托管公司)。如果这是不可能的,也许你可以破解你的方法,使应用程序在它自己的文件夹中的文本文件中写入错误

问题的另一部分是,您需要将初始化包装在
try/catch
块中,以便记录错误。在
Serilog.AspNetCore
集成上有一个很好的例子:

使用Serilog;
公共课程
{
公共静态int Main(字符串[]args)
{
Logger.Logger=新的LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override(“Microsoft”,LogEventLevel.Information)
.Enrich.FromLogContext()的
.WriteTo.Console()
.CreateLogger();
尝试
{
日志信息(“启动web主机”);
CreateHostBuilder(args.Build().Run();
返回0;
}
捕获(例外情况除外)
{
Log.Fatal(例如,“主机意外终止”);
返回1;
}
最后
{
Log.CloseAndFlush();
}
}
您只需要修改此代码,以写入扩展名为
Serilog.Sinks.file
的文件

var log=new LoggerConfiguration()
.WriteTo.File(“log.txt”,rollingInterval:rollingInterval.Day)
.CreateLogger();

您可以通过nlog将异常记录到文件(或数据库)