C# Kestrel服务器已经启动

C# Kestrel服务器已经启动,c#,asp.net-core,iis-express,.net-core-3.0,kestrel,C#,Asp.net Core,Iis Express,.net Core 3.0,Kestrel,使用IIS Express启动.net core 3.0.100应用程序时: 我得到了下一个错误 未处理的异常。System.InvalidOperationException:服务器已启动 使用命令行启动时也会出现相同的错误: dotnet运行-w 此启动代码创建hostBuilder并启动应用程序 private static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(a

使用IIS Express启动
.net core 3.0.100
应用程序时: 我得到了下一个错误

未处理的异常。System.InvalidOperationException:服务器已启动

使用命令行启动时也会出现相同的错误:
dotnet运行-w

此启动代码创建hostBuilder并启动应用程序

private static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .UseServiceProviderFactory(new AutofacServiceProviderFactory())
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder
                .UseStartup<Startup>()
                .ConfigureLogging(logging =>
                {
                    logging.ClearProviders();
                    logging.SetMinimumLevel(LogLevel.Trace);
                })
                .UseNLog();
        });

public static void Main(string[] args) => CreateHostBuilder(args).Build().Run(); // errors throws here
结果是一样的

更新4

试过
dotnet.dll

仍然有相同的错误,但知道只生成了一个
dotnet.exe
进程。此进程可在更新2后的5分钟内终止

我的假设是,在kestrel启动同步之前,kestrel服务器已经启动了,但我不知道何时以及如何启动

更新5

启动代码清单

    public void ConfigureServices(IServiceCollection services)
    {
        services
            .AddSpaStaticFiles(configuration =>
            {
                configuration.RootPath = "wwwroot";
            });

        services
            .AddLocalizationOptions(Configuration)
            .AddHttpContextAccessor()
            .AddSingleton<IActionContextAccessor, ActionContextAccessor>()
            .AddSecurityAuthentication(
                this.Configuration,
                options => options
                    .UseUserModel<User>()
                    .AddUserService<UserService>()
                    .AddSecurityJwtAuthentication())
            .AddAuthorization()
            .AddLogging(builder => builder
                .AddConfiguration(Configuration)
                .AddConsole()
                .AddNLog())
            .AddMvcCore()
            .AddControllersAsServices()
            .AddCustomJsonOptions(this.hostingEnvironment)
            .AddCustomCors();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        // If, for some reason, you need a reference to the built container, you
        // can use the convenience extension method GetAutofacRoot.
        this.AutofacContainer = app.ApplicationServices.GetAutofacRoot();

        app
            .UseRequestLocalization(
                RequestLocalizationConfigurator.GetRequestLocalizationOptions(app.ApplicationServices))
            .UseHttpsRedirection()
            .UseMiddleware<SpaRoutingMiddleware>()
            .UseStaticFiles()
            .UseMiddleware<ExceptionHandlingMiddleware>()
            .UseRouting()
            .UseCors(CorsPolicyName.AllowAny)
            .UseAuthentication()
            .UseAuthorization()
            .UseEndpoints(endpoints =>
            {
                endpoints.MapControllers().RequireAuthorization();
            });

        app.UseSpaStaticFiles();
        app.UseSpa(spa =>
        {
            spa.Options.SourcePath = "../../../../client";
        });
    }
public void配置服务(IServiceCollection服务)
{
服务
.AddSpaStaticFiles(配置=>
{
configuration.RootPath=“wwwroot”;
});
服务
.AddLocalizationOptions(配置)
.AddHttpContextAccessor()
.AddSingleton()
.AddSecurityAuthentication(
这个,配置,,
选项=>选项
.UseUserModel()
.AddUserService()
.AddSecurityJwtAuthentication())
.AddAuthorization()
.AddLogging(builder=>builder
.AddConfiguration(配置)
.AddConsole()
.AddNLog())
.AddMvcCore()
.addControllerAsservices()
.AddCustomJsonOptions(此.hostingEnvironment)
.AddCustomCors();
}
public void配置(IApplicationBuilder应用程序、IWebHostEnvironment环境)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
//如果出于某种原因,需要对生成的容器进行引用,则
//可以使用方便的扩展方法GetAutofacRoot。
this.AutofacContainer=app.ApplicationServices.GetAutofacRoot();
应用程序
.UserRequestLocalization(
RequestLocalizationConfigurator.GetRequestLocalizationOptions(app.ApplicationServices))
.UseHttpsRedirection()
.UseMiddleware()
.UseStaticFiles()
.UseMiddleware()
.UseRouting()
.UseCors(CorsPolicyName.AllowAny)
.UseAuthentication()
.UseAuthorization()
.UseEndpoints(端点=>
{
endpoints.MapController().RequireAuthorization();
});
app.UseSpaStaticFiles();
app.UseSpa(spa=>
{
spa.Options.SourcePath=“../../../../../client”;
});
}

此问题是否发生在新的Asp.Net核心MVC模板上?检查任务经理,看看你是否已经开始了。@TaoZhou我已经更新了问题,这是你的意思吗?只是射击。您是否尝试过向webbuilder添加:UseKestrel()和UseIISIntegration()方法?这些可能只是真正的IIS所需要的,不是Express,但我真的不知道。
    public void ConfigureServices(IServiceCollection services)
    {
        services
            .AddSpaStaticFiles(configuration =>
            {
                configuration.RootPath = "wwwroot";
            });

        services
            .AddLocalizationOptions(Configuration)
            .AddHttpContextAccessor()
            .AddSingleton<IActionContextAccessor, ActionContextAccessor>()
            .AddSecurityAuthentication(
                this.Configuration,
                options => options
                    .UseUserModel<User>()
                    .AddUserService<UserService>()
                    .AddSecurityJwtAuthentication())
            .AddAuthorization()
            .AddLogging(builder => builder
                .AddConfiguration(Configuration)
                .AddConsole()
                .AddNLog())
            .AddMvcCore()
            .AddControllersAsServices()
            .AddCustomJsonOptions(this.hostingEnvironment)
            .AddCustomCors();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        // If, for some reason, you need a reference to the built container, you
        // can use the convenience extension method GetAutofacRoot.
        this.AutofacContainer = app.ApplicationServices.GetAutofacRoot();

        app
            .UseRequestLocalization(
                RequestLocalizationConfigurator.GetRequestLocalizationOptions(app.ApplicationServices))
            .UseHttpsRedirection()
            .UseMiddleware<SpaRoutingMiddleware>()
            .UseStaticFiles()
            .UseMiddleware<ExceptionHandlingMiddleware>()
            .UseRouting()
            .UseCors(CorsPolicyName.AllowAny)
            .UseAuthentication()
            .UseAuthorization()
            .UseEndpoints(endpoints =>
            {
                endpoints.MapControllers().RequireAuthorization();
            });

        app.UseSpaStaticFiles();
        app.UseSpa(spa =>
        {
            spa.Options.SourcePath = "../../../../client";
        });
    }