In fact, I didn't use the XmlSerializer, but the BinarySerializer; and then encode it's data to base64 chars. I guess the BinarySerializer is doing a better job on Interfaces?
Here is a snippet from my code; and it works for me (while keeping the output small)
[WebMethod]
public string GetEntityCollection()
{
EntityCollection entColl = new EntityCollection();
//filled entColl here
//now serialize to bytes
BinaryFormatter formatter = new BinaryFormatter();
MemoryStream writeStream = new MemoryStream();
formatter.Serialize(writeStream, entColl );
//now convert bytes to base64 chars
return System.Convert.ToBase64String(writeStream.ToArray());
}
B.t.w.: TypedList and TypedView just gave me the same output-size.