Как провалить приложение при запуске - PullRequest
0 голосов
/ 31 октября 2018

У меня есть приложение .net core. Мне нужно, чтобы он вышел из строя, если он не настроен должным образом в настоящее время. Он продолжает работать, и мне нужно, чтобы он выключился.

enter image description here

Мои службы настройки выглядят примерно так. Должен быть способ остановить приложение, если оно неправильно настроено.

public void ConfigureServices(IServiceCollection services)
    {

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

   }

Исключение броска

Не останавливает приложение, все, что он делает, это оставляет это в моих логах

Исключение при запуске приложения: System.ArgumentNullException: Значение не может быть нулевым. Имя параметра: settings: connectionString Не определено правильно в Xena.IdentityServer.Startup.ConfigureServices (IServiceCollection услуги) в C: \ Development \ Зена \ Xena-identityserver \ SRC \ Xena.IdentityServer \ Startup.cs: линия 89 --- Конец стека трассировки из предыдущего места, где было сгенерировано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () в Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices (IServiceCollection услуги) в Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices () в Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication () крит: Microsoft.AspNetCore.Hosting.Internal.WebHost [6] Исключение при запуске приложения System.ArgumentNullException: значение не может быть нулевым. Имя параметра: настройки: connectionString Не определен правильно в Xena.IdentityServer.Startup.ConfigureServices (IServiceCollection услуги) в C: \ Development \ Зена \ Xena-identityserver \ SRC \ Xena.IdentityServer \ Startup.cs: линия 89 --- Конец стека трассировки из предыдущего места, где было сгенерировано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () в Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices (IServiceCollection услуги) в Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices () в Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication ()

Сайт все еще открыт, и та же страница выше видна. Мне нужно приложение, чтобы остановить.

Ответы [ 2 ]

0 голосов
/ 31 октября 2018
    public void ConfigureServices(IServiceCollection services)
    {

        if (Configuration["settings:connectionString"] == null)
        {
             // Log?
             System.Environment.Exit(160);
        }

   }

Я использовал 160 здесь, так как соглашения Microsoft предлагают это для «плохих аргументов», хотя я открыт для совета по этому поводу.

https://docs.microsoft.com/en-gb/windows/desktop/Debug/system-error-codes--0-499-

0 голосов
/ 31 октября 2018

Почему вы не можете throw исключение, подобное

public void ConfigureServices(IServiceCollection services)
    {

        if (Configuration["settings:connectionString"] == null) 
          throw new ArgumentNullException("settings:connectionString Not defined correctly");
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...