如何通过program.cs而不是web.config以编程方式插入“requestTimeout=”00:30:00”

问题描述 投票:0回答:1

我有一个 .Net 8 Web API,它发布到多个专用客户 Web 服务器上的 IIS。 有没有办法插入

<aspNetCore requestTimeout="00:30:00".../>

在program.cs中?

我尝试做一个超时中间件,但它似乎忽略了控制器上设置的超时值,但是当我添加

requestTimeout="00:30:00"

在 web.config 中,那个有效。 我想知道是否可以在 program.cs 中执行此操作,因为我不想让客户将其手动插入到 web.config 中。

谢谢

c# asp.net-core-webapi .net-8.0
1个回答
0
投票

您可以通过 API 上装饰的过滤器属性来完成此操作,或者您可以使用请求超时策略配置中间件

通过 API 端点进行装饰

[RequestTimeout(milliseconds: 2000)]

通过中间件

`builder.Services.AddRequestTimeouts(options => {
    options.DefaultPolicy =
        new RequestTimeoutPolicy { Timeout = TimeSpan.FromMilliseconds(1500) };
    options.AddPolicy("MyPolicy", TimeSpan.FromSeconds(2));
});`

请参考链接在此处输入链接描述

© www.soinside.com 2019 - 2024. All rights reserved.