es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cambia el tiempo de espera de la solicitud de entrada de DotNet 6.

Necesito asegurarme de que una solicitud síncrona se mantenga activa durante más de 60 minutos.
¿Existe alguna forma de cambiar el tiempo de espera predeterminado de la solicitud entrante en DotNet 6?

Encontré esto:

serverOptions.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(60);

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel/options?view=aspnetcore-5.0#keep-alive-timeout

Pero no estoy seguro de dónde obtener serverOptions en mi Program.cs

var builder = WebApplication.CreateBuilder(args);

// Agregar servicios al contenedor.
builder.Services.AddControllersWithViews();

var app = builder.Build();

// Configurar el pipeline de solicitud HTTP.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();

“`

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, para cambiar el tiempo de espera predeterminado de las solicitudes entrantes en DotNet 6, puedes agregar la línea serverOptions.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(60); en tu archivo Program.cs. El objeto serverOptions se crea típicamente en el método CreateHostBuilder. Aquí tienes un ejemplo de cómo añadirlo:

    var builder = WebApplication.CreateBuilder(args);
    
    builder.WebHost.ConfigureKestrel(serverOptions =>
    {
        serverOptions.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(60);
    });
    
    // Añade servicios al contenedor.
    builder.Services.AddControllersWithViews();
    
    var app = builder.Build();
    
    // Configura el pipeline de solicitudes HTTP.
    if (!app.Environment.IsDevelopment())
    {
        app.UseExceptionHandler("/Home/Error");
    }
    app.UseStaticFiles();
    
    app.UseRouting();
    
    app.UseAuthorization();
    
    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    
    app.Run();
    

    Este código añade una llamada a ConfigureKestrel que te permite modificar los serverOptions. Luego, puedes establecer la propiedad KeepAliveTimeout en TimeSpan.FromMinutes(60) para aumentar el tiempo de espera a 60 minutos.

Comments are closed.