2012-07-05 75 views
0

在我的WCF服務中,我一直髮送郵件正文中的所有數據作爲Stream。當流被接收到時,它被讀取到一個字符串並反序列化到它「應該」成爲的對象。在WCF服務中使用Stream或DataContracts?

我一直在尋找使用DataContracts,並試圖看到他們有什麼優點或缺點,而不是使用Stream。到目前爲止,我所看到的最重要的事情是,它需要一些冗餘步驟 - 我不再需要將流讀取到字符串並將其反序列化爲對象。

這兩種方法還有其他明顯的區別嗎?

例如我的定義目前看起來像......

void LogOn(Stream input)

它會切換到...

void LogOn(LoginModel model)

在此先感謝。

回答

2

我想你自己做序列化/反序列化會對庫方法帶來性能損失。此外,您當前的方法不會公開有關您的參數或返回類型的任何信息,因此您將失去強類型接口的所有好處。