Take the 2-minute tour ×  We are developing a customized caching
solution that will use a SQL Server database to store cached
objects. The hosting environment of the application does not
provide an "in-memory" cache such as memcached or app fabric so
we must use a SQL Server database.  While most of the cached
objects will be simple types (int, string, dates, etc) we will
need to also store more complex types such as DataSets,
DataTables, generic collections and custom classes.  I have very
little experience with the .NET's native serialization and
deserialization but I figure we will have to serialize the
objects into some form (binary, xml, JSON, etc) to store it in
the database and then deserialize it when we pull it out of the
database. I would like to have some expert opinions on what the
the "some form" should be.  We are using JSON.NET to serialize
data into JSON for various AJAX requests. My initial thought was
to serialize the cached data into JSON to store it in the
database. However, I wanted to ge