I have a WCF Windows service that provides data to 250+ PDAs via compressed datasets and was looking to redevelop both the service and the mobile application to use Entity Framework 4.x models.
In order to keep performance acceptable when sending/receiving data on the PDA I need to keep the data size as small as possible and was wondering if its possible to compress a IEnumerable from the WCF windows service?
From previous experience with the datasets I got a 80%+/- compression rate and even decompressing the data on the PDA achieved an overal 50% performance importment so retaining similar levels of performance is critical.
EDIT:
Could I use a binary serializer and then compress the stream? As shown here
If you can’t use the built in IIS GZip capabilities then you can always do it manually e.g.
Then just have your WCF method return a byte array which you can then decompress & deserialize on the client side.
The above code is an extension method so you can basically just call
return myList.Compress().