Please consider the following Operation contract, using the DataContract Serializer
Foo(int myVar, byte myArray, string myString);
During invocation the parameters are initialized to:
myVar equals 1
myArray references a 100 byte array
myString reference “ABCD”
My understanding is that regardless of the binding used, the invocation will be serialized into a Message object (which is actually a SOAP Message representation using .net objects) and will ultimately be encoded by one of the three encoding schemes
when reaching the channel layer.
My question is how is the serialized information represented in the WCF Client/Dispatch runtime after serialization? In other words does the Message object hold references to the passed-in objects or are they copied and transformed to some new string or
object representation? So assuming for simplicity sake that variable payload is 4 + 100 + 8 (Unicode) = 112 bytes, what is the memory allocation overhead for such an invocation?
View Complete Post