IS 回收时正在运行的任务会发生什么情况

2024-04-08

为了帮助提高客户端的性能,我将请求的处理转移到任务上。这样做是因为处理通常需要一些时间,而且我不希望客户端等待一段时间才得到 200 响应。将工作转移到任务上的 Web 服务始终在处理帖子。

public void ProcessRequest(HttpContext context)
{
    // check for bad requests -- return 400

    // get copy of the context input stream

    Task.Factory.StartNew(() =>
    {
        ProcessRequest(contextInputStreamCopy);
    });
}

private void ProcessRequest(Stream inputStream)
{
    try
    {
        // process input stream
    }
    catch(Exception ex)
    {
        // any server error that would normally result in 500 response are not
        // exposed to the clients, the clients are to see 200 when the server 
        // encounters an error
    }
}

所以我的问题是当回收或网站停止时这些任务会发生什么。


当 IS 被回收时,它会等待所有线程完成并退出 - 直到池中的超时值为止。超时后,它们会杀死所有正在运行的线程并重新开始。

因此,您可以向线程设置一个信号,以便在应用程序请求关闭时停止globa.asax使用Application_End功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IS 回收时正在运行的任务会发生什么情况 的相关文章

随机推荐

  • 方程解析库 C++ [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何进行 git rebase 并保留提交时间戳?

    我想进行变基以从我的历史记录中删除某个提交 我知道该怎么做 但是 如果我这样做 提交时间戳将设置为我完成变基的那一刻 我希望提交保留时间戳 我在这里看到了最后一个答案 https stackoverflow com a 19522951 3
  • 在 vega-lite 中实现自定义点击处理程序的正确方法是什么

    我似乎无法通过阅读文档来弄清楚这一点 有没有办法实现onClick我的任何标记的事件处理程序 由于 Vega Lite 尚不支持信号 您可以修补生成的 Vega 您可以将信号添加到已编译的 Vega 规范中 然后通过 Vega 视图 API
  • Logback:如何将日志目录从“tomcat/bin”更改为与应用程序相关的?

    我想用slf4j with logback用于记录 您可以在下面看到我的 logback xml
  • Android SmsRetrieverClient 的短信验证不解析消息

    尝试按照此处的步骤实现短信自动读取以进行验证 https developers google com identity sms retriever request https developers google com identity s
  • 如何在 Spring Data REST 项目中使用 DTO?

    Spring Data REST 自动仅公开域对象 但大多数情况下我们必须处理数据传输对象 那么如何以SDR方式做到这一点呢 一种如何合作的方法DTO https en wikipedia org wiki Data transfer ob
  • 如何在 Visual Studio Code 中获取 Unity 函数名称的智能感知?

    我正在关注有关 Unity 的教程 我发现讲师在编写方法名称时具有智能感知功能 然而 我只有类和变量的智能感知 我的意思是像 Rigidbody 这样的 Unity 类和我自己的变量 我还读过 自动补全在 Visual Studio 中不起
  • Android apk 构建的条件资源包含/排除

    我不断回到这个问题 因为似乎没有一个干净的解决方案 有没有人有一个好的策略来从 Android 子项目中排除资源 我有两种情况 1 基础库项目具有 en es 等本地化文件 子项目1使用所有本地化 一切都很好 子项目 2 仅本地化为英语 但
  • Bookdown:如何更改章节标题的大小?

    我正在使用 bookdown 为研讨会生成幻灯片 我使用菜单中的 大 字母选项来显示幻灯片 但是章节标题字体太大 我在哪里 如何修改那个 Thanks Paul 你可以用 css 来控制它yihui https stackoverflow
  • Keycloak Java 管理客户端在触发验证电子邮件时返回 400 错误

    我在 Spring Boot 2 2 上使用 keycloak 服务器版本 8 0 1 和 keycloak java admin 客户端版本 8 0 1 使用 webflux 和 netty 而不是 tomcat 如果此类信息有帮助的话
  • Python - “ascii”编解码器无法解码字节

    我正在使用 Python 2 6 和 Jinja2 创建 HTML 报告 我为模板提供了许多结果 模板循环遍历它们并创建 HTML 表 当调用 template render 时 我突然开始收到此错误 td result result st
  • sorl-缩略图不起作用

    我已经尝试了几个小时来让 sorl thumbnail 工作 但它就是行不通 困难的部分是它没有显示错误 所以我不知道出了什么问题 我按照说明安装了它 我的完整代码可以在这里找到 https github com samos123 Samo
  • 在同一个表上触发 INSERT 和 UPDATE

    众所周知 实体框架无法保存地理数据 所以我的想法是 在我的模型中将经度和纬度指定为十进制 执行用于创建表的 SQL 脚本后 我将启动另一个脚本来添加地理列 然后我想通过触发器在每次插入或更新 经度和纬度 时更新此列 下面的触发器是好的还是坏
  • 在新机器上部署.net应用程序并得到“系统无法执行指定的程序”

    我有一个启动 Excel 的 net 控制台应用程序 我让它在我的开发环境中运行 但我无法让它在我的生产环境中运行 当我尝试运行它时 收到以下错误 系统无法执行指定的程序 我已经在我的生产服务器上安装了 net 2 0 sp2 有任何想法吗
  • PyQT 列表视图不响应数据更改信号

    我一直在关注一些教程并尝试设置列表模型 我的主窗口有两个访问同一模型的列表视图 当我更新一个列表中的一项时 另一个列表不会自行更新 直到它获得焦点 我单击它 所以看起来 dataChanged 信号没有被发出 但我无法弄清楚我的代码与我所基
  • 旋转时使用拖动手柄调整 div 大小

    我可以找到类似的问题 涉及 jQuery UI lib 或者只有 css 没有可拖动的句柄 但没有任何纯数学问题 我尝试执行的是拥有一个可调整大小和可旋转的 div 到目前为止很容易 我可以做到 但旋转时会变得更加复杂 调整大小以相反的方式
  • JavaScript 函数是否可以将其自己的函数调用作为字符串返回?

    在 JavaScript 中 函数是否可以将其自己的函数调用作为字符串返回 function getOwnFunctionCall return the function call as a string based on the para
  • 胡萝卜2 - 我可以从文件夹中聚集文档吗?

    我正在尝试对我在研究项目中收集的文档进行聚类 我正在尝试使用 Carrot2 工作台 但无法找到如何将胡萝卜指向包含文档的文件夹 请问我该怎么做 我有少量文档 txt 需要比较 它们位于独立的研究机器上 因此我无法连接到网络并在那里处理它们
  • Symfony 存储 foreach 循环的结果

    我想知道是否可以存储 foreach 循环的结果 我不知道如何更详细地解释我的问题 所以可以说以下让我得到 3 个不同的数组 events this gt getDoctrine gt getRepository TestBundle Ev
  • IS 回收时正在运行的任务会发生什么情况

    为了帮助提高客户端的性能 我将请求的处理转移到任务上 这样做是因为处理通常需要一些时间 而且我不希望客户端等待一段时间才得到 200 响应 将工作转移到任务上的 Web 服务始终在处理帖子 public void ProcessReques