2011-09-04 38 views
0

這是我以前的問題的繼續how to pass some "statistics" from c# program to another program?Microsoft消息隊列vs DDS vs數據庫vs WCF vs純文本文件?

總之 - 我需要以某種方式從我的C#程序收集數據。對我來說重要的事情:

  • 速度
  • 容易實現
  • 穩定性/ reability

不是重要的事情:

  • 便攜
  • 能力的網絡去了(我可以在本地機器上收集統計信息)。

當然,我可以用簡單的文件去,但我認爲它會像80年代在街上。應該有更好的發明...

但是,這不應該比普通文件慢得多,或者比寫入純文件要困難得多。

提出了幾個技術,但哪一個最適合我的任務,他們每個的主要和缺點是什麼?

  • 微軟消息隊列
  • DDS
  • 數據庫
  • WCF
  • 純文本文件

回答

0

如果你有兩個方案需要遠遠共享,然後做到這一點的最快方法是命名管道(共享內存)。你可以讓這個易於使用WCF(這實際上給你的是能夠通過HTTP/TCP使用相同的代碼獎金作爲一個接口實現/ MSMQ等

這將是我的建議。

如果你不使用多線程和/或多個閱讀器,那麼隊列基礎結構會產生很大的開銷。

如果你只是想從點交換數據,數據庫是一個巨大的開銷A到B點。但是,如果您需要傳輸大量數據和/或調試數據進出系統,它將帶來很多優勢。

純文件是確定的,但你需要持久性? IO將會讓你失望。

+0

謝謝,你能推薦我應該讀什麼來實現WCF /命名管...? – javapowered

+0

是否可以將多個客戶端連接到命名管道?即我希望服務器應用程序通過命名管道導出數據,並可能需要多個客戶端來連接到此管道...... – javapowered