Ejemplo n.º 1
0
        internal object GetFormatter(OperationDescription operation, out bool formatRequest, out bool formatReply, bool isProxy)
        {
            MessageDescription request  = operation.Messages[0];
            MessageDescription response = null;

            if (operation.Messages.Count == 2)
            {
                response = operation.Messages[1];
            }

            formatRequest = (request != null) && !request.IsUntypedMessage;
            formatReply   = (response != null) && !response.IsUntypedMessage;

            if (formatRequest || formatReply)
            {
                if (PrimitiveOperationFormatter.IsContractSupported(operation))
                {
                    return(new PrimitiveOperationFormatter(operation, _dataContractFormatAttribute.Style == OperationFormatStyle.Rpc));
                }
                else
                {
                    return(new DataContractSerializerOperationFormatter(operation, _dataContractFormatAttribute, this));
                }
            }

            return(null);
        }
Ejemplo n.º 2
0
        internal object GetFormatter(OperationDescription operation, out bool formatRequest, out bool formatReply, bool isProxy)
        {
            MessageDescription description  = operation.Messages[0];
            MessageDescription description2 = null;

            if (operation.Messages.Count == 2)
            {
                description2 = operation.Messages[1];
            }
            formatRequest = (description != null) && !description.IsUntypedMessage;
            formatReply   = (description2 != null) && !description2.IsUntypedMessage;
            if (!formatRequest && !formatReply)
            {
                return(null);
            }
            if (PrimitiveOperationFormatter.IsContractSupported(operation))
            {
                return(new PrimitiveOperationFormatter(operation, this.dataContractFormatAttribute.Style == OperationFormatStyle.Rpc));
            }
            return(new DataContractSerializerOperationFormatter(operation, this.dataContractFormatAttribute, this));
        }