I did a few tests to compare the data payload sizes of different serialization methods on .NET client server communications.
The test was basically to execute a request/response 20 times.
Request
[Serializable]
[ProtoContract]
public class GetRatingRequest
{
[ProtoMember(1)]
public int Rating;
[ProtoMember(2)]
public int Count;
[ProtoMember(3)]
public float A;
[ProtoMember(4)]
public float B;
[ProtoMember(5)]
public float C;
[ProtoMember(6)]
public float D;
[ProtoMember(7)]
public float E;
}
Response
[Serializable]
[ProtoContract]
public class GetRatingResponse
{
[ProtoMember(1)]
public List<RatingRatings;
}
[Serializable]
[ProtoContract]
public class Rating
{
[ProtoMember(1)]
public bool HighRating { get; set; }
[ProtoMember(2)]
public RatingDetail Details { get; set; }
…