Skip to main content

Differences between Object Serialization and Deserialization?


Serialization = putting the relevant state of the object into a streamable representation. That can mean converting it to a byte stream. This does not necessarily include copying every member variable into the stream.

Deserialization = restoring an object from a serial representation and ensuring the invariants of the object. Deserialization can be thought of a separate constructor for the object.
Serialization generally refers to creating a version of the data (rather than the objects) that can be used for storage (perhaps in a file), for transfer over a network, or perhaps just for transfer between processes / AppDomains /etc on a single machine.

Serialization typically means writing the data as a string (think: xml / json) or as raw binary (a byte[] etc). Deserialization is the reverse process; taking the raw data (from a file, from an incoming network socket, etc) and reconstructing the object model.

The difference between using a db is that it has no intrinsic tabular layout, and no real tie to a database; the data can be any shape, and tends to map more closely to the object-oriented layout than to the rows/columns nature of tables.

Most platforms have a range of serialization tools. For example, it sounds like you're talking about .NET - so BinaryFormatter (.NET-specific), XmlSerializer, DataContractSerializer, Json.NET and protobuf-net / dotnet-protobufs would all qualify.

Read one good article here!


Popular posts from this blog

Debugging code running on Remote machine

Before performing below steps, you need to make sure you have pdb files matching dll version on the remote machine.  Open below folder in your remote machine C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Remote Debugger\x64  Open that folder and launch as admin  msvsmon.exe  Select all options to allow firewall From Tools > Options  - Keep the settings to default (as shown below) and click ok.  At this point your remote debugger is all set. You need to connect from Visual Studio by entering Machine IP: Port (4022) 

Using IsInRole() with Forms Authentication

A Little background…. Page object provides User [ System.Security.Principal.IPrincipa l ] in order to access to the information about the current authenticated user. User is having following two important members. These members provide way to implement Role-based authorization programmatically. Identity [Property] [ System.Security.Principal.IPrincipal.Identity ] – This property provides important members like AuthenticationType, IsAuthenticated, Name. IsInRole [Method] [ System.Security.Principal . IPrincipa l ] – This method takes single parameter that is string value of Role for which to check the membership.

SharePoint yammer integration error: System.Exception: Unable to load the web part. IsEdit: False, IsAsync: False, FormMode: Invalid, SharedProperties: {"site_url":"http:// ","service_account":"true","webpart_guid":" ","iframe":"true","version":" "} at Yammer.SharePoint.WebParts.YammerAppsWebPart.CreateChildControls()

Hi there,  if you are searching for below error ..  System.Exception: Unable to load the web part. IsEdit: False, IsAsync: False, FormMode: Invalid, SharedProperties: {"site_url":"http:// ","service_account":"true","webpart_guid":" ","iframe":"true","version":" "} at Yammer.SharePoint.WebParts.YammerAppsWebPart.CreateChildControls()  The solution you can try could be disabling uploading file attachments to yammer. Below are the steps: 1.Select your webapplication from CA > Manage web apps 2.On the Ribbon>Yammer>Yammer Settings 3.Deselect 'Enable uploading file attachments to Yammer' 4.Click 'Save Settings'. And you are done! You can now add yammer web part to page and can check again.