Lamar вызывает ошибку 500.30 при использовании ServiceRegistry - PullRequest
0 голосов
/ 06 мая 2019

Я использую Lamar в качестве DI для .Net Core (2.2) Web API.

Program.cs

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseLamar()
                .UseStartup<Startup>();
    }

Когда у меня есть следующий код на Startup.cs, программа запускается нормально.

        public void ConfigureServices(IServiceCollection services)
        { }

Как только я поменяю метод на этот

        public void ConfigureServices(ServiceRegistry services)
        { }

Запуск веб-API покажет

HTTP Error 500.30 - ANCM In-Process Start Failure

В Event Viewer есть пара ошибок.

Application '/LM/W3SVC/2/ROOT' with physical root 'C:\xxx\path\to\Web.API\' hit unexpected managed exception, exception code = '0xe0434352'. Please check the stderr logs for more information.

и

Application '/LM/W3SVC/2/ROOT' with physical root 'C:\xxx\path\to\Web.API\' failed to load clr and managed application. CLR worker thread exited prematurely

1 Ответ

0 голосов
/ 06 мая 2019

Эта ошибка вызвана тем, что я только что заменил ConfigureServices вызов на ServiceRegistry. Я действительно должен использовать ConfigureContainer :

        public void ConfigureContainer(ServiceRegistry services)
        { }
...