【问题标题】:Setting a timeout for a single endpoint?为单个端点设置超时?
【发布时间】:2019-01-10 23:07:35
【问题描述】:

我正在尝试调整服务器中单个端点的超时。我不需要为服务器的任何其他部分增加超时,这个特定的端点有时只是处理大请求。

[HttpPost]
    [Route("PreventativeMaintenance/Tasks/Route/{routeID}/Complete")]
    [ActionAuthorize("update")]
    public HttpResponseMessage CompleteRouteTasks(Guid routeID, RouteCompletedDto dto)
    {
      _taskService.CompleteRouteTasks(routeID, dto.TaskIDs, dto.CompletedOn);
      return Request.CreateResponse(HttpStatusCode.OK);
    }

【问题讨论】:

  • 你可以在这里找到一些有用的例子stackoverflow.com/questions/24403832/timeout-a-web-api-request这个想法是运行一个超时的任务,然后等待它或同步运行
  • 请注意,当对任务使用超时时,它不会阻止线程在任务内运行。只有等待任务停止等待。
  • 谢谢你们,这两个cmets都非常有帮助。

标签: c# timeout endpoint


【解决方案1】:

查看 Opewix 提供的资源并从那里关注其他一些线程链接。我最终选择了:

System.Web.HttpContext.Current.Server.ScriptTimeout = 300;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2015-06-30
    • 2021-06-21
    相关资源
    最近更新 更多