在asp.net天之前很長一段時間,當我有一個很長的任務時,我只需要在頁面上運行任務,並使用某種類型的刷新將輸出發送給用戶。沒有單獨的線程或任何東西從asp.net開始,我一直以相同的方式執行長時間的任務。我有一個用response.flush刷新輸出的aspx頁面。這似乎對我來說工作正常(我有一些任務運行幾個小時或更長),但我一直在閱讀,這是不好的,但我想知道爲什麼?發生在你身上的一些問題是你不會這樣做的?沒有單獨線程的ASP.NET長時間任務
0
A
回答
1
假設用戶意外或不知情地導航離開正在執行漫長過程的頁面。這可能會導致中斷,導致用戶恐慌,然後可能通過重新提交來啓動另一個長時間進程。
假設您必須在線訪問您的銀行帳戶,並且想要生成一些可能需要很長時間的財務報告。然後,您將不得不離開您的頁面,並可能會離開您的桌面(例如)。有人可能會走進你的辦公桌,跳進舒適的椅子,在流程運行時點擊後退按鈕 - 他們剛剛發現你的賬戶裏有一百萬美元。 「約翰尼,看起來像今天爲我們所有人買午餐!」
處理這種情況的標準方法,特別是在你的情況下,是讓一個windows服務負責處理,並且頁面可以通過數據庫,事件日誌或者定期詢問當前進程的狀態一些其他手段。這通常是我採取的方法,例如,我的用戶啓動了可能需要5分鐘才能運行的開票流程。用戶可以重新訪問該頁面以檢查其是否準備好,或者服務可以選擇啓動電子郵件,發送文本等以通知用戶操作的狀態。
相關問題
- 1. ASP.NET中處理長時間運行任務的單獨服務
- 2. asp.net長時間運行的任務
- 3. Asp.Net核心長時間運行任務
- 4. Java沒有凍結的長時間計算GUI(單線程)
- 5. 長任務線程的Webservices
- 6. 在單獨的後臺線程vs進程中運行長時間後臺任務
- 7. 用於長時間運行的任務的線程池或TPL
- 8. 多線程獨立任務
- 9. 長時間運行的任務與線程 - 性能
- 10. Objective-c長時間運行任務線程混亂
- 11. ASP.NET中長時間運行的後臺進程 - Application_Start或單獨的進程?
- 12. 沒有UI線程的任務同步
- 13. 沒有IO線程的長時間異步操作
- 14. 等待所有任務線程沒有任務對象
- 15. 通過ASP.NET調用的長時間運行任務的模式
- 16. asp.net長時間運行的任務和檢查它的狀態
- 17. 如何獲得從長時間運行的後臺引發的異常沒有主線程等待的任務
- 18. Python的多線程單獨互斥的任務
- 19. Task.Continuewith中的新任務(在單獨的線程上運行)
- 20. ASP.NET + WCF下的長時間運行線程程序
- 21. 通過將長時間運行的任務分解爲單獨的進程來提高程序性能
- 22. 取消長時間運行的任務Asp.net
- 23. 如何在asp.net中實現長時間運行的任務
- 24. 長時間運行的任務 - 最佳實踐 - ASP.NET 4.0,C#
- 25. ASP.NET長時間運行的任務想法
- 26. C#WPF ModelVisual3D創作時間太長,不能在單獨的線程
- 27. 單線程計時器和/或任務內的時間間隔<T>
- 28. 單獨的線程池爲每個任務
- 29. 嵌套任務和單獨任務之間的區別
- 30. 後臺長時間運行的任務
有道理,但這些都是從調度程序運行的所有管理任務 – user204588
這是自動的嗎?如果是這樣,那麼網頁沒有額外的好處,但如果它爲你完成了工作,那麼很簡單 - 只要確保會話超時配置正確。如果將所有的邏輯編碼到頁面中而不是通用的庫中,並且您有理由保留網頁,那麼只要您的組織能夠正確控制網頁,就保留網頁。 – Jeremy