We are currently using Ajax calls to a .net web service that then returns a Json object to the client. Some of these Json objects are pretty massive (> 500k uncompressed). We have heard some good things about Google Protocol Buffers and have been experimenting.
It would seems that at this point, there would be a proven, well defined solution for binary data serialization/deserialization between .net and a web client. Maybe we are missing something obvious.
Our requirements are Ajax calls from the client, and .net web services methods on the server (.asmx or WCF).
Any comments and suggestions are appreciated.
So maybe there is hope down the road. For now I would stick with json + deflate, or if your scenario allows it you could perhaps use a Silverlight applet embedded in the client? protobuf-net will work inside Silverlight.
You may find JSON is in fact the best answer. Justin has done a series of performance comparisons of JSON to Thrift and Protocol Buffers and found compressed JSON to be faster than protocol buffers, at least in Python. Here's an earlier thread on the topic.
And performance is very unlikely to be faster, compared to native support for JSON or XML.
©2020 All rights reserved.