2009-02-06 156 views
3

我需要將數據從Web應用程序提交到控制檯應用程序。當前計劃要求Web應用程序向數據庫和控制檯應用程序提交數據以輪詢數據庫,然後在插入數據時處理數據。我是否應該更改控制檯應用程序以包含Web應用程序可以提交數據的http處理程序,以便它不必輪詢數據庫?在這兩個應用程序之間傳遞數據是否有更好的方法?控制檯應用程序從不必將數據發送到Web應用程序。將數據從Web應用程序提交到C#控制檯應用程序

更新

這是一個.NET 2.0的控制檯應用程序,以便WCF似乎並不像一個可行的選擇。數據有效載荷相當小(少數9位ID字段,總共小於150字節),並且每分鐘發送速率約爲10。這兩個應用程序之間沒有防火牆。

+0

是遠程處理還是msmq出了問題? – Joe 2009-02-06 23:23:36

+0

他們不是沒有問題,但我從來沒有使用過它們。我現在正在研究它們,看看哪些方法最好。 – 2009-02-06 23:31:14

回答

0

使用最簡單的技術,您的控制檯應用程序可以連接到由定時器或BackgroundWorker控制的循環中的數據庫。您需要一種方法來了解哪些記錄是新的,哪些不是。如果您可以在輪詢時從該表中刪除記錄,則意味着每次執行此操作時,您只會獲得新記錄。如果無法刪除它們,請在該表中使用TimeStamp字段,並且每次輪詢時,都要選擇時間戳大於上一批的最大時間戳的記錄。如果您需要將這些記錄標記爲已處理,那麼您可以設置該標記並忘記時間戳記。

2

我不確定你的要求或設置,但WCF可能是一個選項。


要展開,您可以在控制檯應用程序中託管一個wcf服務,並讓asp.net站點調用它。就此而言,遠程(或任何其他形式)也可以工作。這樣,您不必在不必要時讓控制檯應用程序池數據庫。

0

你基本上想要一個應用程序來應用程序通信。 有很多選擇,但真正取決於您的要求(多少數據,多大,多久,延遲),環境(防火牆,在線/離線,恢復)等等。

使用數據庫是一種解決方案。但你可以使用其他的 - 甚至web服務(wcf),消息系統(msmq),.net遠程處理。

相關問題