System.ServiceModel.Dispatcher.BaseMessagesFormatter.SerializeReply C# (CSharp) Method

SerializeReply() public method

public SerializeReply ( System.ServiceModel.Channels.MessageVersion version, object parameters, object result ) : Message
version System.ServiceModel.Channels.MessageVersion
parameters object
result object
return Message
		public Message SerializeReply (
			MessageVersion version, object [] parameters, object result)
		{
			// use_response_converter

			MessageDescription md = null;
			foreach (MessageDescription mdi in messages)
				if (!mdi.IsRequest)
					md = mdi;

			object [] parts = CreatePartsArray (md.Body);
			if (md.MessageType != null)
				MessageObjectToParts (md, result, parts);
			else {
				if (HasReturnValue (md.Body))
					parts [0] = result;
				int index = ParamsOffset (md.Body);
				int paramsIdx = 0;
				foreach (ParameterInfo pi in replyMethodParams)
					if (pi.IsOut || pi.ParameterType.IsByRef)
				parts [index++] = parameters [paramsIdx++];
			}
			string action = version.Addressing == AddressingVersion.None ? null : md.Action;
			return PartsToMessage (md, version, action, parts);
		}

Usage Example

Example #1
0
 public Message SerializeReply(MessageVersion messageVersion, object [] parameters, object result)
 {
     return(impl.SerializeReply(messageVersion, parameters, result));
 }