Asp.net何时终止后台线程?

2023-12-20

我正在开发一个项目,有大量电子邮件发送其中的一部分,当用户单击按钮时,他/她会立即收到“感谢电子邮件已发送”作为响应,并且会触发相同的方法还有一个异步线程。

ThreadPool.QueueUserWorkItem(SendEMail, _message);

当用户单击发送按钮时,该线程将排队,但由于这是默认的Background Thread我期望当页面响应结束时,该线程将被终止,但它没有发生,因为触发该线程的当前线程也是一个Background Thread and a Worker Thread,这意味着有一个未完成的前台线程(可以是主线程或工作线程)仍然存在,但我不知道它们何时完成,因为它们的完成时间会影响我的后台工作线程;当最后一个前台线程结束时,它会导致进程终止,后台线程也是如此。

我应该害怕这个还是 Asp.NET 可以自动处理它,我有点困惑,因为我已经阅读了很多关于它的东西,现在一切都混淆了。

您能澄清一下吗?

提前致谢。


将 ThreadPool 用于长时间运行的任务将对应用程序的性能产生负面影响(因为 ASP.NET 也使用 ThreadPool 来处理传入请求)。

如果创建太多线程,则为每个任务手动创建线程也可能成为问题。

我过去使用的一种技术是在启动应用程序时创建一个自定义线程池,并将任务排队到该线程池上。一个简单的自定义线程池可以由一个线程和一个任务队列组成。

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

Asp.net何时终止后台线程? 的相关文章

  • 如何延迟 onClick 操作

    我正在尝试在 java 应用程序 android 中做一些事情 并且我需要一些东西来延迟 等待循环的秒数 我怎样才能延迟android功能 我尝试过使用 Thread sleep TimeUnit sleep 但它只会执行几秒钟的不负责任的
  • 无法加载文件或程序集“System.Data.SqlServerCe,版本=4.0.0.0”

    我在我的 C 代码中使用 Visual Studio 2012 Ultimate 和 SQL Server Compact 4 0 本地数据库 创建了一个 ASP NET 网站 不是 Web 应用程序 我能够成功编译网站并将其发布到另一个使
  • 用户 ASP.NET 运行于

    我有点困惑 ASP NET 如何在什么用户下运行 在 iis 7 5 和 6 0 上 一些我不清楚的用户帐户是 网络服务 IUSR AppPool 对不同用户的任何澄清以及安全考虑等都将不胜感激 总之 IIS 5 1 Windows XP
  • 基于 Microsoft Word 模板生成 PDF 文档 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个 Word 文档 它是某种模板 收集用户输入以填充该模板中的特定字段 然后生成一个 PDF
  • 数字或货币的字符串格式?

    我需要为每个千给出逗号 所以我用了DataFormatString 0 它运行良好 但当值为0 它正在显示 00 我只想只显示 0 我们怎样才能做到这一点 DataFormatString 0 C0 这将格式化为小数点后 0 位的货币 Da
  • 如何从 ASP.net 网站写入 OutputDebugString?

    我需要从网站上的代码输出一些调试信息 我怎样才能打电话OutputDebugString来自 ASP net 网站 并将其显示给运行 DbgView 的用户 Note 网站不支持System Diagnostics Trace TraceW
  • 为什么在此单元测试中,BackgroundWorker 没有在正确的线程上调用 RunWorkerCompleted?

    backgroundWorker 的全部目的是在执行耗时的任务后更新 UI 组件正如广告所宣传的那样在我的 WPF 应用程序中 但是在我的测试中 回调不会在调用线程上调用 Test public void TestCallbackIsInv
  • ASP.NET Webform 中的异常处理

    在 ASP NET Webforms 中处理异常的首选方法是什么 你有Page Error您添加的方法 我认为 web config级别 并且当发生错误时整个站点将被重定向到该级别 这是否意味着您不应在 Web 表单应用程序中的任何位置使用
  • 从子线程绘制到窗口

    我的应用程序从工作线程绘制图形已有 10 多年了 而且我从未遇到过任何问题 工作线程吸引到我的HWND 由主线程创建 如下所示 hdc GetDC hwnd SetDIBitsToDevice or StretchDIBits Releas
  • 什么可能会在一台服务器上导致此错误,而在另一台服务器上则不会?

    我们有一个连接到外部 Web 服务的 ASP Net 网站 几天前它突然停止工作 基本代码是这样的 Try request New ExternalWebService ProcessRequestService Error occurs
  • 禁用 ASP.net 文本框而不实际禁用它?

    在我的 ASP Net 应用程序中 有一个文本框可以从CalendarExtender 填充文本框后 它会将该日期与表单上的另一个日期进行检查并显示modalpopupextender如果日期错误 则会弹出窗口 但是 我不想允许用户输入此文
  • 使用多线程使用rabbitmq消息队列(Python Kombu)

    我有一个带有单个队列的 RabbitMQ 交换 我希望创建一个运行多个线程并尽快通过该队列工作的守护进程 工作 涉及与外部服务的通信 因此每个消费者内部都会发生相当多的阻塞 因此 我希望有多个线程都处理来自同一队列的消息 我可以通过在主线程
  • ASP.NET MVC 多线程

    我想在我的 asp net mvc 应用程序中实现这样的逻辑 user clicks a button gt server executes some time consuming logic in 15 threads i get dat
  • 多线程环境下如何更好的使用ExecutorService?

    我需要创建一个库 其中包含同步和异步方法 executeSynchronous 等待直到有结果 返回结果 executeAsynchronous 立即返回一个 Future 如果需要 可以在其他事情完成后进行处理 我的图书馆的核心逻辑 客户
  • JavaFX Platform.runLater 的使用以及从不同线程访问 UI

    我有几个问题Platform runLater 我有一个 JavaFX 应用程序类 在这个类中 我运行一个线程 该线程从网络套接字读取数据 现在当我创建一个新的Stage在线程内部 系统抛出异常 JavaFX 事件调度程序线程和我的网络读取
  • 使用 jQuery 获取 ASP.Net Gridview 的 rowIndex

    您好 是否可以使用 jQuery 获取 gridview 的当前行索引 一点背景 我使用模板字段中的服务器端链接按钮从 gridview 中删除行 如下所示
  • 如何在其他核心上运行每个线程?

    我有一个 udp 服务器接收数据并计算它 每个角色我都有两个线程 我的CPU是8个多核 我以不同的速度发送数据 但最多我只使用了 cpu 两核 50 的 14 如果我发送更多的数据值 我的缓冲区将填满并且不会使用更多的CPU 为什么每个核心
  • 如果浏览器在 asp .net 中关闭,请从浏览器中注销?

    我的要求有点复杂 用户正在使用 Web 浏览器访问数据库 而在访问数据库时 如果用户关闭活动页面而不是注销会话 该会话需要自动注销 有人可以指导我如何做这个吗 我在母版页中使用了jquery onbeforeunload 我收到消息离开页面
  • 即使通过 ssl,在 ViewState 中存储信用卡和定价信息是否安全?

    我有一个带有私有属性的页面 该页面在视图状态中存储信用卡对象和购物车对象 以便我可以在回发期间维护对它们的引用 顺便说一句 涉及的页面将使用 SSL 这安全吗 我不会在视图状态中存储敏感信息 ever 通过这样做 您将安全性委托给浏览器的实
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin

随机推荐

  • git 和本地修改

    我正在探索如何使用 git 我刚刚做了以下测试 创建一个文件夹和2个文件 然后 git init git add git commit m 初始提交 创建分支 gitbranchexperimental gitcheckoutexperim
  • 在 ActiveRecord 中存储序列化哈希与键/值数据库对象的优缺点?

    如果我有几个对象 每个对象基本上都有一个Profile 我用什么来存储随机属性 有什么优点和缺点 将序列化哈希存储在记录的列中 与将序列化哈希存储在记录的列中不同 存储一堆键 值对象belong to主要对象 Code 假设您有如下 STI
  • Gorilla Mux 正则表达式

    我使用的是 Mux 包Golang 大猩猩工具包 http www gorillatoolkit org pkg mux对于我的路线 考虑以下路线 m HandleFunc admin install installHandler Meth
  • 如何删除 CSV 文件中的顶行(列标题)?

    我已经编写了一个脚本 该脚本将上传 CSV 文件 然后将数据提取到已制作的表中 我想让它的第一行 列标题 不会被插入到表中 但其余的数据会被插入到表中 fp fopen SESSION filename r while data fgetc
  • 我们将这种类型的参数传递 mul(1)(2)(3) 称为什么?如何解决这个问题以及如何解决这样的情况,如果像这样传递 n 个参数[重复]

    这个问题在这里已经有答案了 我们将这种类型的参数传递 mul 1 2 3 称为什么 如何解决这个问题 以及在像这样传递 n 个参数的情况下如何解决这种情况 我想了解这个概念是如何运作的 它被称为currying https en wikip
  • Hibernate Criteria 查询 - 嵌套条件

    我不知道如何使用 Hibernate Criteria Syntax 创建这样的查询 select from x where x a abc and x b def or x b ghi 您知道如何做到这一点吗 我正在使用 Hibernat
  • 获取 \p{L}+ 来匹配字符串[重复]

    这个问题在这里已经有答案了 我已经用头撞墙一个小时左右了 现在正在尝试我能想到的一切方法来让 p L 匹配 javascript 中的字符串 下面每次都返回 false 我不知道为什么 它可以在我的本地正则表达式测试器中运行 也可以在 re
  • 提高 WPF DataGrid 性能

    In my NET 3 5 WPF申请 我有一个WPF DataGrid其中将填充 500 列和 50 行 应用程序的性能在滚动时非常非常差 或者当我滚动时DataGrid Items Refresh 或在选择行时 实际上应用程序将需要大约
  • .net异步套接字超时检查线程安全

    http msdn microsoft com en us library system net sockets socketasynceventargs aspx http msdn microsoft com en us library
  • 重命名 ng-include 中的变量[重复]

    这个问题在这里已经有答案了 这是相关的html
  • 为什么我的 iOS 应用程序不禁用深色模式?

    所以 我尝试根据苹果文档将我的应用程序设置为通过强制浅色模式来禁用iOS 13深色模式 在模拟器中所有尝试都工作正常 但是当我在真实设备上尝试时 没有任何反应 就像我 我从未改变过我的代码 第一次尝试 覆盖窗口 视图或视图控制器的界面样式
  • 使用 Qt-Designer 自动扩展布局

    我正在使用 Qt 设计器 我想创建一个QVBoxLayout它将自动扩展以填充整个窗口 的布局QVBoxLayout保持固定 我怎样才能导致QVBoxLayout通过设计器扩大并充满整个窗口 创建您的后QVBoxLayout在 Qt Des
  • Latex - 提取子字符串/忽略字符

    我有以下问题 我定义了一个宏 func如下 newcommand func 1 do something with 1 X 1 Y 我现在想定义另一个宏 newcommand MyFunc 1 parse 1 and if it conta
  • 如何在 d3.js 转换中正确更新输入元素的文本值

    我一直在尝试 一步一步 转换一些非常好的但静态的和非 d3code https github com saebekassebil teoria tree master examples用于 d3 js 可视化中的动态动画 虽然与这个问题没有
  • 避免竞争条件?操作员

    是否 可用于调用委托或事件的运算符避免竞争条件 例如 手动避免竞争条件 The event invoking method that derived classes can override protected virtual void O
  • 为什么快速排序比基数排序更流行?

    为什么快速排序 或介绍排序 或任何基于比较的排序算法比基数排序更常见 特别是对于数字排序 基数排序不是基于比较的 因此可能比 O n日志 其实还可以n 其中 k 是用于表示每个项目的位数 并且内存开销并不重要 因为您可以选择要使用的存储桶的
  • 需要好的 RDLC(报告)示例/样本 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 有条件地派生 Show 以获取在类型构造函数上参数化的存在类型

    假设我有这样的数据类型 LANGUAGE RankNTypes data X a forall b Show b gt X a b 我想导出Show X a 但当然我只能在有实例的情况下这样做Show a b 我很想写 LANGUAGE S
  • Django迁移找不到GDALRaster

    我接手了一个使用 Django Django REST 框架和 Leaflet 的项目 将绘制的路径存储在数据库中 在中安装 Djangovirtualenv并尝试迁移它会引发 文件 D SHK ElektroClean venv lib
  • Asp.net何时终止后台线程?

    我正在开发一个项目 有大量电子邮件发送其中的一部分 当用户单击按钮时 他 她会立即收到 感谢电子邮件已发送 作为响应 并且会触发相同的方法还有一个异步线程 ThreadPool QueueUserWorkItem SendEMail mes