我正在开发一个组件来在ASP.NET中创建定制的BulkImport功能。下划线此组件将使用SqlBulkCopy类。将有不同的文件格式。该文件将导入到中间表中,然后转换为所需的表。上传文件可能很大,可能需要几分钟才能完成处理。我想使用Thread或Thead Pool进行异步处理。能否请你提出一个解决这个问题的好方法。
注意:这是一个内部应用程序,在任何给定时间最多2-5人使用。
答案 0 :(得分:1)
在ASP.NET中启动其他线程的主要问题是框架可以从您下面撕掉AppDomain(例如,如果有人编辑web.config或IIS决定回收工作进程)。如果发生这种情况,您的工作线程也会被终止,您无法真正控制它。
如果您认为这不是问题,那么这并不重要,但我建议更好的解决方案可能是在一个单独的流程中启动工作,然后您可以从中监控你的网络应用程序。
这样,如果有人编辑了Web配置,或者IIS回收了工作进程,则导入过程是独立运行的,您不必担心。
答案 1 :(得分:1)
这是我的方法: