internal static string SerializePageSettings(PageSettings pageSettings) { var str = string.Empty; var retryCount = 1; if (pageSettings != null) { while (retryCount <= 2) { try { using (var stream = new MemoryStream()) { var serializer = new XmlSerializer(pageSettings.GetType()); serializer.Serialize(stream, pageSettings); if (stream.Length > 0) { stream.Seek(0, SeekOrigin.Begin); using (StreamReader reader = new StreamReader(stream)) { str = reader.ReadToEnd(); } break; } } } catch (Exception ex) { retryCount++; if (retryCount > 2) { var message = ex.InnerException != null ? ex.InnerException.Message : ex.Message; var exceptionType = ex.InnerException != null?ex.InnerException.GetType().ToString() : ex.GetType().ToString(); // TODO Error Log } } } } return(str); }