增加 Angular 2+ 和 ASP.NET Core WebAPI 应用程序中的超时

2023-12-09

在我的 Angular 2+ / ASP.NET Core MVC WebAPI 应用程序中,我有一个从客户端 UI 到服务器的长时间运行的 API 调用。请求在 30 秒后超时。我想在客户端或服务器端定义此特定 API 调用的超时。

我只找到了全局配置服务器超时的方法,这不是我想要的,因为 30 秒超时对于其他调用来说已经足够了。我还找到了通过管道 RxJS 来减少客户端超时的解决方案timeout操作员。但是,据我了解,这不适合in增加超时时间?

如何设置此特定请求的超时? 30秒默认值从何而来?

(代码实际上并不重要,因为它是一个标准 API 控制器和一个标准 Angular HTTP 调用):

this.http.get('api/xyz').subscribe(d => { ... });

要解决超时问题,您可以使用timeout来自 RxJ,如下所示

将时间(以毫秒为单位)传递给timeout操作员

这里我设置了 60 秒作为超时,因此 60 秒后如果服务器没有响应,则会抛出超时错误。

import ‘rxjs/add/operator/timeout’; 

...

this.http.get('api/xyz').timeout(60000).subscribe(d => { ... });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

增加 Angular 2+ 和 ASP.NET Core WebAPI 应用程序中的超时 的相关文章

随机推荐