private static System.ServiceModel.Channels.Message DeserialzieMessageFromStream(MemoryStream ms, System.ServiceModel.Channels.MessageVersion messageVersion) { var bmebe = new System.ServiceModel.Channels.BinaryMessageEncodingBindingElement(); bmebe.MessageVersion = messageVersion; bmebe.ReaderQuotas = XmlDictionaryReaderQuotas.Max; var bmef = bmebe.CreateMessageEncoderFactory(); return(bmef.Encoder.ReadMessage(ms, int.MaxValue)); }
private static MemoryStream SerializeMessageToStream(System.ServiceModel.Channels.Message requestMessage) { var bmebe = new System.ServiceModel.Channels.BinaryMessageEncodingBindingElement(); bmebe.MessageVersion = requestMessage.Version; bmebe.ReaderQuotas = XmlDictionaryReaderQuotas.Max; var bmef = bmebe.CreateMessageEncoderFactory(); var ms = new MemoryStream(64 * 1024); // 64K to keep out of LOH bmef.Encoder.WriteMessage(requestMessage, ms); ms.Position = 0; return(ms); }