當前位置:編程學習大全網 - 編程語言 - c#的序列化究竟有什麽用?

c#的序列化究竟有什麽用?

序列化是用來通信的,服務端把數據序列化,發送到客戶端,客戶端把接收到的數據反序列化後對數據進行操作,完成後再序列化發送到服務端,服務端再反序列化數據後對數據進行操作。說白了,數據需要序列化以後才能在服務端和客戶端之間傳輸。這個服務端和客戶端的概念是廣義的,可以在網絡上,也可以在同壹臺機器的不同進程中,甚至在同壹個進程中進行通信。在傳統編程中,對象是通過調用棧間接的與客戶端交互,但在面向服務的編程中,客戶端永遠都不會直接調用實例。不知道說的明不明白。

好吧,我說的確實不夠明白,妳問的是為什麽需要序列化,我只是說了序列化的壹個應用。那我就來說說序列化的好處吧。不序列化也可以傳輸,但是無法跨平臺,安全性也無法保障。我說的是面向服務編程中的作用,在傳統編程中,妳在表示層實例化壹個業務對象,然後調用業務對象中的方法,妳想過為什麽能這樣調用嗎?這樣做耦合度太高,很不好。如果序列化以後通過特定的協議傳輸數據就不壹樣了,表示層通過代理或通道向服務層發送特定的數據格式,這個數據就是序列化以後的,比如XML,服務端接收到以後要進行反序列化,生成服務端可識別的數據格式,比如壹個類,然後對數據進行操作,再序列化發送到客戶端,客戶端再反序列化。這樣客戶端可以使用和服務端完全不同的開發平臺,只要它能夠對xml數據進行反序列化,而xml是具有工業標準的數據格式,基本各平臺都支持。這也適用於在進程間通信。如果在進程內通信,也可以做到更高的安全性,對象不再通過調用棧交互,而是通過代理或通道。

  • 上一篇:全國大學生數學建模競賽是否容易得獎,含金量如何?
  • 下一篇:程序員適合用什麽筆記本,不玩遊戲,偶爾看看電視?
  • copyright 2024編程學習大全網