ASP.NET Core 5 中不再支持 Server 对象,因此我们需要通过新的方式设置超时时间。
- 在 Startup.cs 文件中,添加以下代码:
services.Configure(options =>
{
options.ScriptTimeout = TimeSpan.FromMinutes(5);
});
这段代码设置了超时时间为 5 分钟,可以根据需要进行调整。
- 在 Controller 中,通过 CancellationToken 实例设置超时时间:
public async Task Index(CancellationToken cancellationToken)
{
using (var cts = new CancellationTokenSource())
{
cts.CancelAfter(TimeSpan.FromMinutes(5)); // 超时时间为 5 分钟
cancellationToken = cts.Token;
// 执行需要设置超时的代码
}
}
通过 CancellationToken 的 CancelAfter 方法设置超时时间,代码执行超时后会自动取消,避免资源浪费。
上面两种方法分别适用于不同场景,可以根据实际需求进行选择。