停止Kestrel服务器接受代码请求

时间:2020-03-30 09:20:48

标签: c# asp.net .net-core kestrel-http-server

我正在尝试完成以下任务: 我有一个运行gRPC服务的asp.net核心3.1。

在应用程序的生命周期内,我希望能够暂停/停止端点/服务器侦听/接受请求,并在恢复请求一段时间后。

只是为了澄清我不想停止该过程

我找不到与其相关的任何Kestrel命令,我们将不胜感激

2 个答案:

答案 0 :(得分:1)

在应用程序的生命周期内,我希望能够暂停/停止端点/服务器侦听/接受请求,并在恢复请求一段时间后。

今天不可能,但将在5.0中。我建议评论此问题https://github.com/dotnet/aspnetcore/issues/21244

答案 1 :(得分:0)

在启动Configure(IApplicationBuilder app, IWebHostEnvironment env, ISomeDep someDep) 您可以在方法的开头添加以下几行:

app.Use((context, func) =>
        {
            if (someDep.IsReadyToAccept) 
                return func.Invoke();
            context.Response.StatusCode = 204;//if u want to return specific status code when not ready to accept requests
            return Task.CompletedTask;
        });