我正在處理一個簡單的網絡項目,並希望使用TCPListener/Client連接直接傳輸對象。我想避免WCF的開銷,只需要一個簡單的方法將序列化出來的對象,通過網絡發送出去,最後在另一端將其恢復到原始狀態。C#中的對象序列化和網絡編程
謝謝
我正在處理一個簡單的網絡項目,並希望使用TCPListener/Client連接直接傳輸對象。我想避免WCF的開銷,只需要一個簡單的方法將序列化出來的對象,通過網絡發送出去,最後在另一端將其恢復到原始狀態。C#中的對象序列化和網絡編程
謝謝
看看.NET Remoting;它使事情變得簡單!
而且它是一個很大的話題,在這裏評論顯示樣品=)
這裏閱讀:http://msdn.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx
Remoting是失寵現在有WCF。 WCF針對性能進行了高度優化,並且在大多數情況下將贏得遠程處理。見http://msdn.microsoft.com/en-us/library/bb310550.aspx。您沒有提及您是否擔心運行時間開銷或學習如何使用WCF的開銷。也就是說,通過使用二進制TCP傳輸而不是HTTP傳輸,可以減少運行時間開銷。它運行良好,儘管HTTP(SOAP)現在當然非常受歡迎。您的服務可以支持多種傳輸(即TCP和HTTP),以與.NET客戶端(TCP傳輸)和其他符合標準的客戶端(HTTP SOAP傳輸)良好協作。
那麼,如果你只需要序列化/反序列化行爲,而不涉及WCF或遠程處理,有很多方式:通過SerializableAttribute
所有的方法都有強弱兩面,但我相信,爲了您的需要#1就足夠了。結構合理,無需外部庫。