客戶端向我請求了一個在後端執行大量處理的Web應用程序(從文件讀取,寫入Web服務)。我的問題是,由於這個「過程」(當用戶點擊'開始')可能需要幾個小時,我該如何使它在用戶關閉網頁後繼續處理?請讓我知道,如果這沒有任何意義,我可以提供更多信息。任何幫助將不勝感激,謝謝!從Web應用程序請求中創建單獨的進程
回答
您必須爲其創建MS Windows服務。
您已經爲該服務提供了一些數據庫表,客戶端將使用您的網站功能。
請注意,您通常無法在共享主機環境中運行Windows服務。您需要完全訪問Web服務器才能安裝和管理Web服務。如果您沒有此類訪問權限,則可以在您有權訪問的單獨機器上運行Windows服務。在這種情況下,Web服務器必須以某種方式向另一臺機器發送請求(例如,通過Web服務調用)。在您的網絡流量較大的環境中,無論如何將Windows服務分離到單獨的計算機可能是明智的。 – 2012-02-21 17:19:29
最好的解決方案將是在Windows服務中完成工作,並使用您的Web應用程序來觸發處理。
是否可以在同一個解決方案中擁有2個Windows服務? – 2012-02-21 17:18:39
@IsaacLevin - 是的。解決方案中可以有許多不同的服務。您也可以在一臺機器上安裝多個服務。 – Oded 2012-02-21 17:19:26
@Oded所以我會做這樣的例子 http://www.fredmastro.com/post/Call-your-Web-Service-from-your-Web-Application.aspx – 2012-02-21 17:31:15
這基本上是一個「批量工作」的要求,這就是我建議你接近它的方法。
客戶端將使用網頁,而不是執行的工作,而是管理正在執行工作的批處理作業列表。安排它們,啓動或停止它們,查看它們的狀態和當前輸出等等。 (是的,就像他們這樣做是在1970年的,但沒有「// FOOBAR JOB(123456)」 ......感謝上帝。
用戶到該網頁,並輸入請求。背 - 主機上的服務進程(批處理作業管理器...)現在可以在一臺計算機上啓動作業;也許一次可以執行多個作業。用戶可以同時註銷網站並執行任何他喜歡的操作然後,他可以隨時回來,回到任何可能的工作監控網頁,看看事情進展如何。停止工作,暫停/恢復,你有什麼,
還有批量作業監視工具的批次已經存在,適用於各種環境,包括免費和商業。所以,它不像你必須構建所有這些東西;你只需要確定什麼現貨包裝最適合你和你的客戶。
你能舉個例子說明如何做到這一點?似乎它可能是我需要採取的路線。 – 2012-02-21 17:38:52
- 1. Web應用程序請求
- 2. 如何在Liferay中創建單獨的Web應用程序?
- 3. UWP應用程序中的Web請求
- 4. 覆蓋/創建Web應用程序的請求參數
- 5. 創建簡單的Web應用程序?
- 6. 創建Web應用程序
- 7. 何時需要在應用程序中創建單獨的進程?
- 8. 在Rails應用程序中爲每個Passenger進程創建單獨的日誌
- 9. 區分應用程序處理程序中的Web API請求和MVC請求
- 10. 從Swing應用程序創建Web應用程序
- 11. 使用JWT通過獨立應用程序進行刷新令牌請求 - 不是Web應用程序
- 12. 從控制檯應用程序創建單獨的窗口
- 13. Web應用程序請求過濾器
- 14. 剖析Web應用程序請求
- 15. asp.net web應用程序請求超時
- 16. 將Web應用程序請求日誌記錄到單獨的文件
- 17. 從Web應用程序執行大量的Web服務請求。監視進度
- 18. 在現有的Web應用程序中創建一個API還是單獨的?
- 19. 創建獨立的Java應用程序
- 20. 爲Ipad創建通用應用程序或單獨的應用程序
- 21. 從Web應用程序啓動進程
- 22. 獨立Web應用程序
- 23. 創建一個單獨的Excel進程
- 24. 在Android中創建Web應用程序
- 25. 在web應用程序中創建ListView
- 26. 用Java創建獨立應用程序
- 27. 創建獨立Web應用程序的環境
- 28. 在MVC3應用程序中創建單獨的DAL項目
- 29. 可能在unity3d中創建單獨的watchkit應用程序?
- 30. Html.RenderAction是否創建單獨的請求?
@DmitryBoyko [編輯問題](http://stackoverflow.com/suggested-edits/206335)只是爲了大膽的某些部分?真? – Basic 2012-02-21 17:23:07