首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ASP.NET中使用线程或头部池的好方法是什么

在ASP.NET中使用线程或头部池的好方法是什么
EN

Stack Overflow用户
提问于 2010-04-09 17:26:30
回答 2查看 76关注 0票数 0

我正在开发一个在ASP.NET中创建定制BulkImport功能的组件。下划线这个组件将使用SqlBulkCopy类。将会有不同的文件格式。该文件被导入到中间表中,然后被转换为所需的表。上传的文件可能很大,可能需要几分钟的处理时间。我想使用Thread或Thead来做异步处理。你能建议一个好的方法来处理这个问题吗?

注意:这是一个内部应用程序,将由最多2-5人在任何给定的时间使用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-09 17:33:13

在ASP.NET中启动额外线程的主要问题是,框架可能会从您的下面撕开AppDomain (例如,如果有人编辑web.config或IIS决定回收工作进程)。如果发生这种情况,您的工作线程也将终止,您无法真正控制它。

如果你不认为这会是一个问题,那么这真的无关紧要,但我建议一个更好的解决方案可能是在一个单独的进程中启动工作,然后你可以从你的web应用程序中监控。

这样,如果有人编辑web配置,或者IIS回收工作进程,导入进程将独立运行,您不必担心。

票数 1
EN

Stack Overflow用户

发布于 2010-04-09 19:47:11

以下是我的方法:

  • 要求用户粘贴文件的unc路径。将此路径保存到sql中的表中。
  • 编写一个windows服务来检查路径表中的新条目。当找到新条目时,开始处理该文件。使用进度和检查标志定期更新标签(如下所示)
  • 在浏览器中有一个ajax回调,用于检查表的进度,并以百分比的形式返回给客户端。允许客户端通过向表中添加一些标志来停止进程。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2606260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档