我有一个 .Net 8 Web API,它发布到多个专用客户 Web 服务器上的 IIS。 有没有办法插入
<aspNetCore requestTimeout="00:30:00".../>
在program.cs中?
我尝试做一个超时中间件,但它似乎忽略了控制器上设置的超时值,但是当我添加
requestTimeout="00:30:00"
在 web.config 中,那个有效。 我想知道是否可以在 program.cs 中执行此操作,因为我不想让客户将其手动插入到 web.config 中。
谢谢
您可以通过 API 上装饰的过滤器属性来完成此操作,或者您可以使用请求超时策略配置中间件
通过 API 端点进行装饰
[RequestTimeout(milliseconds: 2000)]
通过中间件
`builder.Services.AddRequestTimeouts(options => {
options.DefaultPolicy =
new RequestTimeoutPolicy { Timeout = TimeSpan.FromMilliseconds(1500) };
options.AddPolicy("MyPolicy", TimeSpan.FromSeconds(2));
});`
请参考链接在此处输入链接描述