in src/CosmosCacheSessionConverter.cs [74:112]
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
CosmosCacheSession cosmosCacheSession = value as CosmosCacheSession;
writer.WriteStartObject();
writer.WritePropertyName(CosmosCacheSessionConverter.IdAttributeName);
writer.WriteValue(cosmosCacheSession.SessionKey);
writer.WritePropertyName(CosmosCacheSessionConverter.ContentAttributeName);
writer.WriteValue(Convert.ToBase64String(cosmosCacheSession.Content));
if (cosmosCacheSession.TimeToLive.HasValue)
{
writer.WritePropertyName(CosmosCacheSessionConverter.TtlAttributeName);
writer.WriteValue(cosmosCacheSession.TimeToLive.Value);
}
if (cosmosCacheSession.IsSlidingExpiration.HasValue)
{
writer.WritePropertyName(CosmosCacheSessionConverter.SlidingAttributeName);
writer.WriteValue(cosmosCacheSession.IsSlidingExpiration.Value);
}
if (cosmosCacheSession.AbsoluteSlidingExpiration.HasValue)
{
writer.WritePropertyName(CosmosCacheSessionConverter.AbsoluteSlidingExpirationAttributeName);
writer.WriteValue(cosmosCacheSession.AbsoluteSlidingExpiration.Value);
}
if (!string.IsNullOrWhiteSpace(cosmosCacheSession.PartitionKeyAttribute)
&& !CosmosCacheSessionConverter.IdAttributeName.Equals(cosmosCacheSession.PartitionKeyAttribute, StringComparison.OrdinalIgnoreCase))
{
writer.WritePropertyName(cosmosCacheSession.PartitionKeyAttribute);
writer.WriteValue(cosmosCacheSession.SessionKey);
}
writer.WriteEndObject();
}