我正在開發一個組件以在ASP.NET中創建定製的BulkImport功能。下劃線這個組件將使用SqlBulkCopy類。將會有不同的文件格式。該文件被導入到中間表中,然後轉換爲所需的表格。上傳文件可能很大,可能需要幾分鐘時間才能處理。我想使用線程或Thead池進行異步處理。你能否建議一個好的方法來處理這個問題。什麼是在ASP.NET中使用Thread或Thead池的好方法
注意:這是一個內部應用程序,可以在任何給定時間由最多2-5人使用。
我正在開發一個組件以在ASP.NET中創建定製的BulkImport功能。下劃線這個組件將使用SqlBulkCopy類。將會有不同的文件格式。該文件被導入到中間表中,然後轉換爲所需的表格。上傳文件可能很大,可能需要幾分鐘時間才能處理。我想使用線程或Thead池進行異步處理。你能否建議一個好的方法來處理這個問題。什麼是在ASP.NET中使用Thread或Thead池的好方法
注意:這是一個內部應用程序,可以在任何給定時間由最多2-5人使用。
在ASP.NET發射了額外的線程的主要問題是,該框架可以從下您翻錄的AppDomain出來(例如,如果有人編輯web.config文件或IIS決定回收工作進程)。如果發生這種情況,您的工作線程也會被終止,您無法真正控制它。
如果你不認爲這會成爲一個問題,那麼它其實並不重要,但我認爲,一個更好的解決方案很可能會火起來的工作在一個單獨的進程,然後可以監視從您的Web應用程序。
這樣,如果有人編輯了web配置,或者IIS回收了輔助進程,導入過程就會獨立運行,您不必擔心。
這裏是我的方法:
1產卵從ASP .NET線程是無意義的,因爲父線程可以被殺死任何第二。 – 2010-04-09 11:50:33
感謝您的指導。 Feed上傳將在事務處理下運行,因此如果該流程回收,Feed應該回滾。 – 2010-04-13 09:37:11