Serialization in .NET 4.5
This course equips viewers with essential knowledge about serialization in the .NET Framework. No matter what .NET technology developers are using - whether it's ASP.NET, WCF, Web API, or desktop applications - they will definitely encounter situations where serialization is needed. This course helps them understand the different alternatives and what is the best choice in each scenario.
What you'll learn
In this course, we look at serialization from the viewpoints of the two most common scenarios: persisting an application state and exchanging data between entities. First we look at some essential prerequisite concepts. Then we start the serialization learning journey by examining binary serialization, a very important technique to master when writing applications that need to persist their state. We look at the basic concepts of binary serialization and then how to step in and take more control. We then enter the world of XML serialization, which is used heavily in integration scenarios. We look at the different available serializers, and then again we examine how to take fine-grained control over the XML structure. JSON serialization is another important topic, especially in the Web API space, and we examine and compare between the available options. Finally, we'll look at a summarization flowchart that will help you decide which option to use based on each scenario.
Table of contents
- Introduction 0m
- What Is Binary Serialization? 5m
- Type Fidelity 4m
- Introducing the Serialization Engine 3m
- Making a Type Serializable 2m
- Serialization and Inheritance 2m
- Demo: Presenting the Class Diagram 1m
- Demo: Binary Serialization Essentials 6m
- Omitting Fields 1m
- Demo: How are Properties Handled? 3m
- Demo: The Problem of Automatic Properties 3m
- Deserialization and Instance Initialization 1m
- Reference Integrity 2m
- Demo: Reference Integrity 2m
- Beware of Corrupted Serialization Streams 2m
- Demo: Sharing Types Between Applications 6m
- Versioning Considerations 3m
- Should All Types Be Serializable? 2m
- Null Types 1m
- Summary 2m
- Introduction 1m
- Serialization Hooks 4m
- Demo: Serialization Hooks 5m
- More Control? ISerializable 5m
- Demo: Controlling Serialization Using ISerializable 4m
- No Reflection. Is This (Worthy) Advantage? 1m
- Inheritance 2m
- Demo: Inheritance #1 - Base Type Implements ISerializable 4m
- Demo: Inheritance #2 - Base Type Does Not Implement ISerializable 5m
- Case Study: Basic Versioning Using ISerializable 2m
- Case Study: Advanced Versioning Using SerializationBinder 2m
- Demo: Advanced Versioning Using SerializationBinder 5m
- Case Study: Serializing a Non-serializable Type Using Surrogates 2m
- Demo: Serializing a Non-Serializable Type Using Surrogates 5m
- Case Study: Overriding Serialization of Types 1m
- StreamingContext 3m
- Security Considerations 2m
- Finally: Object Graphs Warning 2m
- Summary 2m
- Introduction 0m
- Why Would You Care? 2m
- Introducing DataContractSerializer 3m
- Introducing Data Contracts 2m
- Demo: Introducing DataContractSerializer 3m
- Stream with Multiple Roots 1m
- Automatic Properties? No Problem 1m
- Supporting Inheritance 1m
- Demo: Inheritance and KnownTypes 2m
- Configuring KnownTypes Dynamically: DataContractResolver 3m
- Reference Integrity 4m
- Serialization Hooks 1m
- Demo: Surrogates 4m
- Summary 2m
- Introduction 1m
- Serializing Existing Types Marked with [Serializable] 2m
- DataContractSerializer with Binary XML and MTOM Formats 6m
- DataContractSerializer in WCF: Serialization and Encoding 5m
- Change Default Data Contract Values 6m
- Demo: XSD Mappings 6m
- Serializing Collections 4m
- Data Contract Versioning 6m
- Round Tripping 2m
- Demo: Round Tripping 6m
- The 'Unmarked' Types 3m
- A Word About NetDataContractSerializer 3m
- Summary 2m
- Introduction 1m
- Do You Need More Control Over the XML Structure? 4m
- Fine-grained Control Using XmlSerializer 3m
- Pros and Cons of XmlSerializer 3m
- Demo: XmlSerializer 5m
- Full Control? IXmlSerializable 4m
- Demo: IXmlSerializable 5m
- Supplying the XSD for WCF Mapping 2m
- Demo: IXmlSerializable with WCF 6m
- Summary 2m