public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { SafelyIncrementableIntHolder safeInt = value as SafelyIncrementableIntHolder; if (safeInt != null) { writer.WriteStartObject(); writer.WritePropertyName("value"); writer.WriteValue(safeInt.Value); writer.WriteEndObject(); } }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { SafelyIncrementableIntHolder result = null; while (reader.Read()) { if (reader.TokenType == JsonToken.Integer) { result = new SafelyIncrementableIntHolder((int)(long)reader.Value); } } return(result); }
private TestPageModel GetModel() { this.Session["count"] = (int)this.Session["count"] + 1; SafelyIncrementableIntHolder safeInt = this.Session["safeCount"] as SafelyIncrementableIntHolder; int safeResult = safeInt.Increment(); LockedList sessList = this.Session["listCount"] as LockedList; sessList.Add(0); TestPageModel mdl = new TestPageModel { Count = (int)this.Session["count"], SafeCount = safeResult, ListCount = sessList.Count }; return(mdl); }