asp.net-core - .net 核心上的 Servicestack 执行超时
问题描述
我们使用服务堆栈,并在 .net 核心上使用 InProcess 模型运行。
我们有一些运行时间较长的请求,我们想超时 - 但是,我正在努力做到这一点。在 .net core 之前,您可以配置 httpRuntime 的“executionTimeout”,但是,这在 .net core 中不可用。这样做的新方法(我相信)是在配置中使用“requestTimeout”——但微软的网站声称 InProcess 模型不支持这种方式。如果感觉剩下的唯一解决方案是在某处的服务堆栈中配置它,但我没有看到任何明显的地方。
我在这里错过了什么吗?是否有一个 ServiceStack 选项可以强制线程在超时时完成,或者这是不可能的?
通过 IIS 有其他超时选项,但没有一个会停止执行
谢谢
解决方案
ServiceStack在 .NET HTTP Worker Request 线程上作为库处理程序运行,即它不产生或管理任何自己的线程。任何请求配额限制或超时都需要在底层 HTTP 服务器上配置,即就像任何其他 ASP.NET Core 应用程序需要做的那样。
如果您使用的是 IIS,您仍然可以在标记中的 Web.config 中配置 ASP.NET Core 请求超时。<aspNetCore/>
如果您使用默认的 Kestrel HTTP Server,您可以在配置 Web Host 时配置其限制。
推荐阅读
- r - R:循环应该从字符串返回数字元素
- sql - How to query data from million records of data with date column?
- python - customise environment jupyter notebook
- php - 通过 woocommerce / dokan 中的代码显示的自定义字段
- javascript - JS计算距视口中心的距离
- python - 正确使用字典的 __str__ 方法(kwargs)
- c# - cSharp中的客户端网络和服务器网络
- python - Python Writer 跳过第一行
- java - 使用java编程语言合并一些ogg音频文件
- python - 如何从python中的列表中删除重复的名称?