public static ResourceSerializationSettings GetResourceSerializationSettings(bool allowPermissions) { ResourceSerializationSettings settings = new ResourceSerializationSettings(); if (WebResponseHelper.IsParameterSet(ParameterNames.ResourceFormat, "fixed")) { settings.ResourceFormat = ResourceSerializationHandling.FixedStructure; } if (WebResponseHelper.IsParameterSet(ParameterNames.ValueFormat, "string")) { settings.ValueFormat = AttributeValueSerializationHandling.ConvertToString; } if (WebResponseHelper.IsParameterSet(ParameterNames.ArrayHandling, "all")) { settings.ArrayHandling = ArraySerializationHandling.AllAttributes; } if (WebResponseHelper.IsParameterSet(ParameterNames.ArrayHandling, "whenRequired")) { settings.ArrayHandling = ArraySerializationHandling.WhenRequired; } settings.IncludePermissionHints = allowPermissions && WebResponseHelper.IsParameterSet(ParameterNames.IncludePermissionHints); settings.IncludeNullValues = WebResponseHelper.IsParameterSet(ParameterNames.IncludeNullValues); return(settings); }
public static Stream GetResponse(object r, bool allowPermissions) { ResourceSerializationSettings settings = WebResponseHelper.GetResourceSerializationSettings(allowPermissions); JsonSerializerSettings d = new JsonSerializerSettings { Context = new StreamingContext(StreamingContextStates.Other, settings), ReferenceLoopHandling = ReferenceLoopHandling.Serialize }; WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(r, d)))); }
private static Stream GetResponse(object r) { ResourceSerializationSettings settings = new ResourceSerializationSettings { ArrayHandling = ArraySerializationHandling.WhenRequired, IncludeNullValues = false, IncludePermissionHints = false, ResourceFormat = ResourceSerializationHandling.AttributeValuePairs, ValueFormat = AttributeValueSerializationHandling.ConvertToString }; JsonSerializerSettings d = new JsonSerializerSettings { Context = new StreamingContext(StreamingContextStates.Other, settings), ReferenceLoopHandling = ReferenceLoopHandling.Serialize }; WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(r, d)))); }