Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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# 如何在启动时使应用程序失败_C#_Asp.net Core_.net Core - Fatal编程技术网

C# 如何在启动时使应用程序失败

C# 如何在启动时使应用程序失败,c#,asp.net-core,.net-core,C#,Asp.net Core,.net Core,我有一个.net核心应用程序。我需要它失败,如果它没有正确配置当前它继续运行,我得到我需要它关闭 我的配置服务如下所示。当应用程序配置不正确时,必须有一种方法使其停止 public void ConfigureServices(IServiceCollection services) { if (Configuration["settings:connectionString"] == null) return; } 抛出异常 不会停止应用程序它所做的只是将其

我有一个.net核心应用程序。我需要它失败,如果它没有正确配置当前它继续运行,我得到我需要它关闭

我的配置服务如下所示。当应用程序配置不正确时,必须有一种方法使其停止

public void ConfigureServices(IServiceCollection services)
    {

        if (Configuration["settings:connectionString"] == null) return;

   }
抛出异常

不会停止应用程序它所做的只是将其保留在我的日志中

应用程序启动异常:System.ArgumentNullException:值 不能为空。参数名称:设置:未定义connectionString 正确地在 Xena.IdentityServer.Startup.ConfigureServicesServiceCollection 服务于 C:\Development\Xena\Xena identityserver\src\Xena.identityserver\Startup.cs:line 89 -来自引发异常的上一个位置的堆栈结束跟踪-在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServicesServiceCollection 服务于 Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices 位于Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication crit:Microsoft.AspNetCore.Hosting.Internal.WebHost[6] 应用程序启动异常System.ArgumentNullException:值不能为null。参数名称:设置:连接字符串不可用 正确定义在 Xena.IdentityServer.Startup.ConfigureServicesServiceCollection 服务于 C:\Development\Xena\Xena identityserver\src\Xena.identityserver\Startup.cs:line 89 -来自引发异常的上一个位置的堆栈结束跟踪-在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServicesServiceCollection 服务于 Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices 位于Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication

该网站仍处于打开状态,上面的同一页可见。我需要停止应用程序

为什么不能抛出这样的异常

public void ConfigureServices(IServiceCollection services)
    {

        if (Configuration["settings:connectionString"] == null) 
          throw new ArgumentNullException("settings:connectionString Not defined correctly");
   }
为什么你不能抛出这样的异常

public void ConfigureServices(IServiceCollection services)
    {

        if (Configuration["settings:connectionString"] == null) 
          throw new ArgumentNullException("settings:connectionString Not defined correctly");
   }
我在这里用了160个,因为微软的惯例认为这是“错误的论点”,不过我愿意接受这方面的建议

我在这里用了160个,因为微软的惯例认为这是“错误的论点”,不过我愿意接受这方面的建议



抛出新异常?抛出异常不会停止应用程序,它只会在我的日志中留下一条消息,说明应用程序仍在运行。application.Exit;抛出新异常?抛出异常不会停止应用程序,它只会在我的日志中留下一条消息,说明应用程序仍在运行。application.Exit;引发异常不会停止仍在运行的应用程序。我想我应该提到我已经试过了。@DaImTo不,不应该,除非它在呼叫方的某个地方得到处理。。。我的意思是试试。。你可能没有抓住要点。我需要停止此应用程序。抛出异常不会停止仍在运行的应用程序,并提供上述错误网页。@DaImTo因此您需要自定义错误网页不停止应用程序。另外,您可以在此处看到异常的处理方式:抛出异常不会停止仍在运行的应用程序。我想我应该提到我已经试过了。@DaImTo不,不应该,除非它在呼叫方的某个地方得到处理。。。我的意思是试试。。你可能没有抓住要点。我需要停止此应用程序。抛出异常不会停止应用程序仍在运行,并提供上述错误网页。@DaImTo因此您需要自定义错误网页而不是停止应用程序。另外,您可以在此处看到异常是如何处理的:很好!在我之前5秒发布:还有一个方法,可以记录到系统日志。很好!发布时间比我早5秒:还有一个方法,它记录到系统日志中。