I am trying to serialize large object using below. But sometimes it throws out of memory exception.
Method 1:
var settings = new JsonSerializerSettings { ContractResolver = BaseFirstContractResolver.Instance };
string jsonString = JsonConvert.SerializeObject(listObj, Newtonsoft.Json.Formatting.Indented, settings);
So I have decided to serialize object to file like below,
Method 2:
string path = System.Web.Configuration.WebConfigurationManager.AppSettings["jsonPath"].ToString();
using (StreamWriter file = File.CreateText(path))
{
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(file, listObj);
}
}
Also i am returning json data from file as HttpResponseMessage,
string path = System.Web.Configuration.WebConfigurationManager.AppSettings["jsonPath"].ToString();
var stream = new System.IO.FileStream(path, System.IO.FileMode.Open);
var response = this.Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StreamContent(stream);
response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
return response;
I am getting data fast in method 1 than method 2. Is there any performance difference between these two methods ?