際際滷

際際滷Share a Scribd company logo
.NET Framework & C#
仂亟仍 17 弌亠亳舒仍亰舒 仂弍从于
 仂仄 仄仂亟仍:
 仂仆 舒亳弍于
 乂仂 舒从亠 亠亳舒仍亰舒?
 亳弍亳 亟仍 亠亳舒仍亰舒 [Serializable] 
[NonSerializable]
 个仂仄舒亳 亠亳舒仍亰舒
 于亶从仂于亠 仂仄舒于舒仆仆. 仍舒 BinaryFormatter
 XML-仂仄舒于舒仆仆. 仍舒 XmlSerializer
 Soap 仂仄舒于舒仆仆. 仍舒 SoapFormater
2
Andrii Hladkyi
trilobt@gmail.com
仂仆 舒亳弍于
 亳弍亳 于亳从仂亳仂于ム 仗亳 于仂亠仆 从仍舒于 磻 仄仂亢
弍亳 亠亳舒仍亰仂于舒仆
 亳弍亳 仗亠亟舒于仍亠仆  于亳亞仍磲 舒仆仂舒亶 仗仂亞舒仄仆仂亞仂 从仂亟,
磻 仄仂亢 亰舒仂仂于于舒亳 亟仂 亰舒亟舒仆仂亞仂 亳仗 (从仍舒,
仆亠亠亶, 从亳), 舒 舒从仂亢 亟仂 仗仂仍于 亳仗.
 弌舒仄 舒亳弍亳 于 仗仍舒仂仄 .Net 磦仍ム 亳仗舒仄亳 (从仍舒舒仄亳),
仂 仂亰亳ムム 弍舒亰仂于亳亶 从仍舒 System.Atribute
Andrii Hladkyi
trilobt@gmail.com 3
Andrii Hladkyi
trilobt@gmail.com 4
亠仄仂仆舒
乂仂 舒从亠 亠亳舒仍亰舒?
 丶亠 亰弍亠亠亢亠仆仆 舒仆 仂弍从舒 于 弍舒亶仂于亳亶 仗仂从, 亰 仄亠仂 亶仂亞仂
(仂弍从舒) 仗仂亟舒仍仂亞仂 于亟仆仂于仍亠仆仆.
 弍亠亠亢亠仆舒 仗仂仍亟仂于仆 弍舒亶 仄亳 于 仆亠仂弍亟仆 仆仂仄舒
亟仍 于亟仆仂于仍亠仆仆 仂弍从舒.
 舒 亟仂仗仂仄仂亞仂 亠亳舒仍亰舒 仗仂仂 亰弍亠亞舒亳 于亠仍亳从 仂弍仄亳 亟舒仆亳 (于
亰仆亳 仂仄舒舒).
 弍亠亠亢亠仆仆 亟舒仆亳 亰舒 亟仂仗仂仄仂亞仂 亠于于 亠亳舒仍亰舒 仆舒弍舒亞舒仂
亰仆亠, 仆亢 仗礆亠 于亳从仂亳舒仆仆 亰舒仂弍于 亳舒仆仆/亰舒仗亳, 于
仗仂仂 仄亠仆 System.IO
 亳从仂亳舒仆仆 亠亳舒仍亰舒 舒从仂亢 于亟亞舒 于舒亢仍亳于 仂仍 仗亳
从仂仗ミ火夷出術 仂弍从舒 仆舒 于亟亟舒仍亠仆亳亶 从仂仄仗ム亠
Andrii Hladkyi
trilobt@gmail.com 5
亳弍亳 亟仍 亠亳舒仍亰舒 [Serializable]  [NonSerializable]
 乂仂弍 亰仂弍亳亳 仂弍从 亟仂仗仆亳仄 亠于亠 亠亳舒仍亰舒 .Net,
亟仂舒仆仂 仗仂仄亳亳 从仂亢仆亳亶 亰于磶舒仆亳亶 从仍舒 舒亳弍仂仄
[Serializable].
 亊从仂 仆亠仂弍亟仆仂, 仂弍 亟亠磻 仍亠仆亳 亟舒仆仂亞仂 从仍舒 仆亠 仗仂于亳仆仆 (亳
仆亠 仄仂亢) 弍舒亳 舒 于 仗仂亠 亠亳舒仍亰舒, 仗仂弍仆仂
仗仂亰仆舒亳亳 于亟仗仂于亟仆亠 仗仂仍亠 舒亳弍仂仄 [NonSerializable].
 亳弍亳 [Serializable] 仆亠 仆舒仍亟ム. 丐仂仄 仗仂亟仆亳亶 从仍舒
舒从仂亢 仗仂弍仆仂 仗仂亰仆舒亳亳 舒亳弍仂仄 [Serializable]
 亊从仂 亠舒仍亰ム亳亶 从仍舒 仄亳 仗仂亳仍舒仆仆 仆舒 仂弍'从亳 仆亳
从仍舒于, 磻 仗仂亰仆舒亠仆 舒亳弍仂仄 SerializableAttribute,  仂弍'从亳
舒从仂亢 弍亟 亠舒仍亰仂于舒仆.
Andrii Hladkyi
trilobt@gmail.com 6
亊从 于亟弍于舒 亠舒仍亰舒
Andrii Hladkyi
trilobt@gmail.com 7
个仂仄舒亳 亠亳舒仍亰舒
 弌亠舒仍亰舒 于 亟于亶从仂于亳亶 仂仄舒. 亟亶仆ム 仂弍从仂仄 从仍舒
BinaryFormatter, 仂 亰仆舒仂亟亳 于 仗仂仂 仄亠仆
System.Runtime.Serialization.Formatters.Binary
 弌亠舒仍亰舒 于 仂仄舒 SOAP (Simple Object Access Protocol).
亟亶仆ム 仂弍从仂仄 从仍舒 SoapFormater, 磻亳亶 亰仆舒仂亟亳 于
仗仂仂 仄亠仆 System.Runtime.Serialization.Formatters.Soap.
 BinaryFormatter 亰弍亠亞舒 仂弍从 舒弍仂仍ム仆仂 仂仆仂.
 SoapFormater 仆亠 亰舒仗亳ム 舒弍仂仍ム仆 仄亠仆舒  从仂仄仗仂仆仂于仂仆
弍仍仂从亳. 舒仆亳亶 仂仄舒 亠亳舒仍亰舒 仗亳亰仆舒亠仆亳亶 亟仍 亰弍亠亞舒仆仆
舒仆 仂弍从舒, 舒从亳仄 亳仆仂仄, 仂弍 于仆 仄亞 于亳从仂亳仂于于舒亳 于
弍亟 磻亶 仂仗亠舒亶仆亶 亳亠仄 亟仍 弍亟 磻仂亞仂 从舒从舒 仗仂亞舒仄亳
(.Net, Java, QT), 于 弍亟 磻亶 仄仂于 仗仂亞舒仄于舒仆仆.
Andrii Hladkyi
trilobt@gmail.com 8
于亶从仂于亠 仂仄舒于舒仆仆. 仍舒
BinaryFormatter
  从仍舒 BinaryFormatter 于亳亰仆舒亠仆仂 亟于舒 仄亠仂亟亳, 亰舒 亟仂仗仂仄仂亞仂
磻亳 于亳从仂仆 亠舒仍亰舒/亟亠亠舒仍亰舒 仂弍从于:
 BinaryFormatter 亠亳舒仍亰 磻 于亟从亳 舒从  亰舒从亳 仗仂仍 
于仍舒亳于仂 仂弍从舒.
Andrii Hladkyi
trilobt@gmail.com 9
XML 仂仄舒于舒仆仆
 亳 XML-亠舒仍亳亰舒 于亟从亳 仗仂仍  于仍舒亳于仂 仂弍'从舒 舒弍仂
仗舒舒仄亠亳  仗仂于亠仆亠仆 亰仆舒亠仆仆 仄亠仂亟于 亠舒仍亰ム 于 XML-
仗仂从, 从仍舒亟亠仆亳仄 仆舒 仄仂于 XSD (仄仂于舒 于亳亰仆舒亠仆仆 亠仄亳 XML)
 XML-亠舒仍亰舒 仗亳亰于仂亟亳 亟仂 于仂亠仆仆 仂亞仂 亳仗亰仂于舒仆亳
从仍舒于 亰 于亟从亳亳仄亳 于仍舒亳于仂礆亳  仗仂仍礆亳, 磻
仗亠亠于仂ムム 于 仂仄舒 XML.
 仂 仄亠仆 System.Xml.Serialization 仄亳 从仍舒亳, 仆亠仂弍亟仆
亟仍 亠舒仍亰舒  亟亠亠舒仍亰舒亳 XML.
Andrii Hladkyi
trilobt@gmail.com 10
Andrii Hladkyi
trilobt@gmail.com 11
亠仄仂仆舒
Soap 仂仄舒于舒仆仆. 仍舒 SoapFormater
 SoapFormater 亰弍亠亞舒 仂弍从 于 仗仂于亟仂仄仍亠仆 SOAP. 舒仆亳亶
于舒舒仆 仂仄舒于舒仆仆  从舒亳仄 于亳弍仂仂仄 亟仍 仗亠亠亟舒 仂弍从于
亰舒仂弍舒仄亳 于亟亟舒仍亠仆仂 于亰舒仄仂亟 仗仂 仗仂仂从仂仍 HTTP.
 SOAP 于亳亰仆舒舒 舒仆亟舒仆亳亶 仗仂亠, 亰舒 亟仂仗仂仄仂亞仂 磻仂亞仂 仄仂亢仆舒
于亳从仍亳从舒亳 仄亠仂亟亳 仆亠亰舒仍亠亢仆 于亟 仗仍舒仂仄亳  弌 仗仂仂弍仂仄 亟仍
Web- 亠于于 XML
 SOAP 磦仍 XML 仄仂于仂
Andrii Hladkyi
trilobt@gmail.com 12
亠仄仂仆舒
Andrii Hladkyi
trilobt@gmail.com 13

More Related Content

Net framework and C# module 17. Serialization

  • 1. .NET Framework & C# 仂亟仍 17 弌亠亳舒仍亰舒 仂弍从于
  • 2. 仂仄 仄仂亟仍: 仂仆 舒亳弍于 乂仂 舒从亠 亠亳舒仍亰舒? 亳弍亳 亟仍 亠亳舒仍亰舒 [Serializable] [NonSerializable] 个仂仄舒亳 亠亳舒仍亰舒 于亶从仂于亠 仂仄舒于舒仆仆. 仍舒 BinaryFormatter XML-仂仄舒于舒仆仆. 仍舒 XmlSerializer Soap 仂仄舒于舒仆仆. 仍舒 SoapFormater 2 Andrii Hladkyi trilobt@gmail.com
  • 3. 仂仆 舒亳弍于 亳弍亳 于亳从仂亳仂于ム 仗亳 于仂亠仆 从仍舒于 磻 仄仂亢 弍亳 亠亳舒仍亰仂于舒仆 亳弍亳 仗亠亟舒于仍亠仆 于亳亞仍磲 舒仆仂舒亶 仗仂亞舒仄仆仂亞仂 从仂亟, 磻 仄仂亢 亰舒仂仂于于舒亳 亟仂 亰舒亟舒仆仂亞仂 亳仗 (从仍舒, 仆亠亠亶, 从亳), 舒 舒从仂亢 亟仂 仗仂仍于 亳仗. 弌舒仄 舒亳弍亳 于 仗仍舒仂仄 .Net 磦仍ム 亳仗舒仄亳 (从仍舒舒仄亳), 仂 仂亰亳ムム 弍舒亰仂于亳亶 从仍舒 System.Atribute Andrii Hladkyi trilobt@gmail.com 3
  • 5. 乂仂 舒从亠 亠亳舒仍亰舒? 丶亠 亰弍亠亠亢亠仆仆 舒仆 仂弍从舒 于 弍舒亶仂于亳亶 仗仂从, 亰 仄亠仂 亶仂亞仂 (仂弍从舒) 仗仂亟舒仍仂亞仂 于亟仆仂于仍亠仆仆. 弍亠亠亢亠仆舒 仗仂仍亟仂于仆 弍舒亶 仄亳 于 仆亠仂弍亟仆 仆仂仄舒 亟仍 于亟仆仂于仍亠仆仆 仂弍从舒. 舒 亟仂仗仂仄仂亞仂 亠亳舒仍亰舒 仗仂仂 亰弍亠亞舒亳 于亠仍亳从 仂弍仄亳 亟舒仆亳 (于 亰仆亳 仂仄舒舒). 弍亠亠亢亠仆仆 亟舒仆亳 亰舒 亟仂仗仂仄仂亞仂 亠于于 亠亳舒仍亰舒 仆舒弍舒亞舒仂 亰仆亠, 仆亢 仗礆亠 于亳从仂亳舒仆仆 亰舒仂弍于 亳舒仆仆/亰舒仗亳, 于 仗仂仂 仄亠仆 System.IO 亳从仂亳舒仆仆 亠亳舒仍亰舒 舒从仂亢 于亟亞舒 于舒亢仍亳于 仂仍 仗亳 从仂仗ミ火夷出術 仂弍从舒 仆舒 于亟亟舒仍亠仆亳亶 从仂仄仗ム亠 Andrii Hladkyi trilobt@gmail.com 5
  • 6. 亳弍亳 亟仍 亠亳舒仍亰舒 [Serializable] [NonSerializable] 乂仂弍 亰仂弍亳亳 仂弍从 亟仂仗仆亳仄 亠于亠 亠亳舒仍亰舒 .Net, 亟仂舒仆仂 仗仂仄亳亳 从仂亢仆亳亶 亰于磶舒仆亳亶 从仍舒 舒亳弍仂仄 [Serializable]. 亊从仂 仆亠仂弍亟仆仂, 仂弍 亟亠磻 仍亠仆亳 亟舒仆仂亞仂 从仍舒 仆亠 仗仂于亳仆仆 (亳 仆亠 仄仂亢) 弍舒亳 舒 于 仗仂亠 亠亳舒仍亰舒, 仗仂弍仆仂 仗仂亰仆舒亳亳 于亟仗仂于亟仆亠 仗仂仍亠 舒亳弍仂仄 [NonSerializable]. 亳弍亳 [Serializable] 仆亠 仆舒仍亟ム. 丐仂仄 仗仂亟仆亳亶 从仍舒 舒从仂亢 仗仂弍仆仂 仗仂亰仆舒亳亳 舒亳弍仂仄 [Serializable] 亊从仂 亠舒仍亰ム亳亶 从仍舒 仄亳 仗仂亳仍舒仆仆 仆舒 仂弍'从亳 仆亳 从仍舒于, 磻 仗仂亰仆舒亠仆 舒亳弍仂仄 SerializableAttribute, 仂弍'从亳 舒从仂亢 弍亟 亠舒仍亰仂于舒仆. Andrii Hladkyi trilobt@gmail.com 6
  • 7. 亊从 于亟弍于舒 亠舒仍亰舒 Andrii Hladkyi trilobt@gmail.com 7
  • 8. 个仂仄舒亳 亠亳舒仍亰舒 弌亠舒仍亰舒 于 亟于亶从仂于亳亶 仂仄舒. 亟亶仆ム 仂弍从仂仄 从仍舒 BinaryFormatter, 仂 亰仆舒仂亟亳 于 仗仂仂 仄亠仆 System.Runtime.Serialization.Formatters.Binary 弌亠舒仍亰舒 于 仂仄舒 SOAP (Simple Object Access Protocol). 亟亶仆ム 仂弍从仂仄 从仍舒 SoapFormater, 磻亳亶 亰仆舒仂亟亳 于 仗仂仂 仄亠仆 System.Runtime.Serialization.Formatters.Soap. BinaryFormatter 亰弍亠亞舒 仂弍从 舒弍仂仍ム仆仂 仂仆仂. SoapFormater 仆亠 亰舒仗亳ム 舒弍仂仍ム仆 仄亠仆舒 从仂仄仗仂仆仂于仂仆 弍仍仂从亳. 舒仆亳亶 仂仄舒 亠亳舒仍亰舒 仗亳亰仆舒亠仆亳亶 亟仍 亰弍亠亞舒仆仆 舒仆 仂弍从舒, 舒从亳仄 亳仆仂仄, 仂弍 于仆 仄亞 于亳从仂亳仂于于舒亳 于 弍亟 磻亶 仂仗亠舒亶仆亶 亳亠仄 亟仍 弍亟 磻仂亞仂 从舒从舒 仗仂亞舒仄亳 (.Net, Java, QT), 于 弍亟 磻亶 仄仂于 仗仂亞舒仄于舒仆仆. Andrii Hladkyi trilobt@gmail.com 8
  • 9. 于亶从仂于亠 仂仄舒于舒仆仆. 仍舒 BinaryFormatter 从仍舒 BinaryFormatter 于亳亰仆舒亠仆仂 亟于舒 仄亠仂亟亳, 亰舒 亟仂仗仂仄仂亞仂 磻亳 于亳从仂仆 亠舒仍亰舒/亟亠亠舒仍亰舒 仂弍从于: BinaryFormatter 亠亳舒仍亰 磻 于亟从亳 舒从 亰舒从亳 仗仂仍 于仍舒亳于仂 仂弍从舒. Andrii Hladkyi trilobt@gmail.com 9
  • 10. XML 仂仄舒于舒仆仆 亳 XML-亠舒仍亳亰舒 于亟从亳 仗仂仍 于仍舒亳于仂 仂弍'从舒 舒弍仂 仗舒舒仄亠亳 仗仂于亠仆亠仆 亰仆舒亠仆仆 仄亠仂亟于 亠舒仍亰ム 于 XML- 仗仂从, 从仍舒亟亠仆亳仄 仆舒 仄仂于 XSD (仄仂于舒 于亳亰仆舒亠仆仆 亠仄亳 XML) XML-亠舒仍亰舒 仗亳亰于仂亟亳 亟仂 于仂亠仆仆 仂亞仂 亳仗亰仂于舒仆亳 从仍舒于 亰 于亟从亳亳仄亳 于仍舒亳于仂礆亳 仗仂仍礆亳, 磻 仗亠亠于仂ムム 于 仂仄舒 XML. 仂 仄亠仆 System.Xml.Serialization 仄亳 从仍舒亳, 仆亠仂弍亟仆 亟仍 亠舒仍亰舒 亟亠亠舒仍亰舒亳 XML. Andrii Hladkyi trilobt@gmail.com 10
  • 12. Soap 仂仄舒于舒仆仆. 仍舒 SoapFormater SoapFormater 亰弍亠亞舒 仂弍从 于 仗仂于亟仂仄仍亠仆 SOAP. 舒仆亳亶 于舒舒仆 仂仄舒于舒仆仆 从舒亳仄 于亳弍仂仂仄 亟仍 仗亠亠亟舒 仂弍从于 亰舒仂弍舒仄亳 于亟亟舒仍亠仆仂 于亰舒仄仂亟 仗仂 仗仂仂从仂仍 HTTP. SOAP 于亳亰仆舒舒 舒仆亟舒仆亳亶 仗仂亠, 亰舒 亟仂仗仂仄仂亞仂 磻仂亞仂 仄仂亢仆舒 于亳从仍亳从舒亳 仄亠仂亟亳 仆亠亰舒仍亠亢仆 于亟 仗仍舒仂仄亳 弌 仗仂仂弍仂仄 亟仍 Web- 亠于于 XML SOAP 磦仍 XML 仄仂于仂 Andrii Hladkyi trilobt@gmail.com 12