2013-10-24 141 views
0

我有一個Windows服務應用程序和一個ASP.NET Web應用程序,均由C#創建。這兩個應用程序都從數據庫(SQL服務器)獲取數據。將ASP.NET Web應用程序連接到Windows服務應用程序

從Web應用程序更新數據庫後,如何通知服務應用程序重新從數據庫中載入數據?

現在我們的解決方案是使用服務控制器重新啓動Windows服務應用程序。是否有任何低成本解決方案,如服務應用程序和Web應用程序之間的通信?

通過,我的上司討厭輪詢方法的方式......

如果WCF是一種選擇,任何人都可以張貼一些材料?

非常感謝!

+0

我們已經使用了msmq,並且每​​當有更改時,Web應用程序都會在隊列中放入一條消息。和Windows服務可以重新加載數據,只有當隊列不是空的..只是檢查這是否會爲你工作 – Saranya

+0

你的意思是Windows服務應該繼續檢查msmq隊列?這是一種輪詢方法嗎?我的老闆真的很討厭... – Jun

+0

http://stackoverflow.com/questions/3909626/sqldependency-vs-sqlcachedependency – Joe

回答

0

您可以實施作爲Windows服務運行的工作流服務。該服務必須具有可通過net.tcp請求調用的活動,並處理您的請求。我正在使用這個解決方案,工作正常。 其他方式是服務使用數據庫來檢查是否有必要執行重新加載。

0

你可以利用Service Broker

一言以蔽之:使用SqlDependency類,你可以線了在C#中的事件,每當一個表進行了更新,將閃光。在那個時候,你可以重新加載新的數據。

+0

你能告訴我更多細節嗎?我應該持有哪個應用程序SqlDependency類,以及其他應用程序如何識別這些更改?謝謝。 – Jun

+0

你嘗試過搜索嗎?這就馬上搜索這裏:http://stackoverflow.com/questions/5288434/how-to-monitor-sql-server-table-changes-by-using-c/5288505#5288505 – dferraro

相關問題