我有一個數據加載應用程序必須每天不定期執行多次。我打算編寫一個服務來啓動下載並將數據導入數據庫服務器。通過web服務使用標準服務還是有優勢的,反之亦然?何時通過Windows服務使用Web服務?
回答
我覺得你錯過了這裏的觀點。
網絡服務通常用於通信或遠程執行的形式。您可以在Web服務上調用遠程函數,以調整正在運行的機器的行爲或從中檢索數據。
Windows服務是在不需要任何「登錄用戶」的機器上運行的後臺進程。他們可以在用戶登錄屏幕時執行任務並執行操作,或者執行高級操作。您可以與服務對話以調整其行爲或檢索信息,但它的一般用途與web服務不同。
這裏最大的區別在於,必須調用Web服務,它們不會自行運行。
對於您的應用程序,我建議使用Windows(標準)服務,因爲您可以讓它每天執行一次代碼。如果你有其他東西來自動調用Web服務,並且你需要服務器的響應,詳細說明它的執行結果(成功/失敗/警告/等等),我纔會使用Web服務。
如果「不規則間隔」確實意味着應用程序被另一個應用程序調用,那麼我會使用Web服務。
如果該行動已安排,我會使用Windows服務。
如果您正在使用SQL Server(計劃與否),我還會考慮SQL Server Integration Services。
您還可以考慮編寫由Windows計劃任務觸發的正常(Windows或控制檯)應用程序。你所描述的不一定聽起來像需要服務的東西。
聽起來像一個很好的使用Windows服務給我。關閉我的頭頂,我會使用Windows服務,如果: 1.工作按照定期(定期或不定期)在後臺執行; 2.不需要交互 - 工作只是在後臺完成,並基於輪詢或某種其他類型的觸發器(消息在隊列中丟棄,數據庫值觸發器,計劃的時間段等)開始工作。 3.需要被監控(隨着記錄開始/停止),你可以利用WMI,perfmon和事件日誌而不費力氣。
Web服務更適合於交互式任務(例如,如果您希望根據收到的請求啓動下載)。
聽起來像一個Windows服務是你應該採取的方法。
希望這會有所幫助。祝你好運!
- 1. 通過使用web服務
- 2. 實時通過Web服務
- 3. 通過Web代理與WCF服務通信;從Windows服務
- 4. 通過Web服務
- 5. 通過Web服務
- 6. Windows服務或Web服務?
- 7. 從Windows服務調用Web服務時繞過代理
- 8. 如何通過web服務
- 9. 通信web-windows服務器:代理DLL,web服務或windows服務+ WCF?
- 10. 爲什麼我會通過Web API服務選擇Windows服務?
- 11. 通訊通過web服務
- 12. 何時使用WCF服務和普通舊式Windows服務?
- 13. MuleSoft DataWeave - 通過Web服務使用者調用.NET SOAP服務
- 14. 在Windows服務中調用Web服務
- 15. 從Windows服務調用Web服務
- 16. c#通過服務參考使用SSL Web服務
- 17. 通過代理Web服務重複Web服務調用 - 性能
- 18. 如何通過瀏覽器調用Windows服務WCF Web服務方法
- 19. 通過一個Web服務使用JSON
- 20. 通過Android使用.NET web服務
- 21. C# - 通過https使用REST Web服務
- 22. 使用Web服務通過AJAX直接
- 23. 通過.Net使用SAP Web服務
- 24. 如何通過另一個Windows服務創建Windows服務
- 25. 通過ajax ping web服務
- 26. 通過ASMX Web服務
- 27. 通過web服務錯誤
- 28. 通過WCF Web服務
- 29. 通過SOAP的Web服務
- 30. 通過RESTful Web服務
你打算如何觸發執行?手動或在某些條件適用的情況下? – Goblin 2010-07-26 19:58:09
有點奇怪的問題。 Webservice用於使服務公開訪問。在你的情況下,你似乎需要考慮在Windows服務或調度程序執行的作業之間。 – 2010-07-26 20:00:59
Web服務和Windows服務是兩個完全不同的事物,彼此之間沒有任何關係。這就像詢問什麼時候使用自行車或捲心菜更好。 – 2010-07-26 20:01:55