簡體   English   中英

與外部服務ASP.NET MVC同步

[英]Synchronization with external services ASP.NET MVC

我們希望將應用程序中的數據與外部服務的數據同步。 (例如會計軟件。這種同步應該在每晚和客戶想要的時候執行。

我知道長時間運行的線程不屬於Web應用程序,並且此同步應該在外部Windows服務中執行。 但是這種方法的缺點是,部署/維護變得更加困難,因為應用程序也可以安裝在客戶的Web服務器上。

是否可以將此同步與僅使用我的解決方案的類庫項目完全集成,該解決方案將在Application_Start事件中啟動?

由於您的應用程序托管在IIS上,因此它由應用程序池進程維護。 如果為任務創建其他模塊,它將在同一進程的上下文中運行。 為了執行所需的同步,您必須確保此過程在半夜仍在使用應用程序時仍在工作。 您可以使用Quartz.NET來安排同步任務。

但是,我認為更好的想法是從Windows服務執行同步。 服務應該與應用程序通信,例如使用數據庫,它記錄當前活動。 它使您可以通過連接到此類數據庫來監視Web上的服務狀態。 我知道服務會增加一些額外的管理工作,但它會更加可靠和安全。 您還可以從Web應用程序添加服務啟動可能性(如果池進程用戶具有對Windows服務的訪問權限),以克服(或至少最小化)管理工作,並在發生故障后重新啟動服務。

我已經編寫了這樣的功能,所以只是為了讓您全面了解我對這種外部服務的Web監控的意思,請查看下面的屏幕。 它可以用ajax支持編寫,以實現更高的響應性( 池化機制 ),這對最終用戶來說很方便。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM