// Assumption: gets called exactly once per operation
        void IOperationContractGenerationExtension.GenerateOperation(OperationContractGenerationContext context)
        {
            DataContractSerializerOperationBehavior DataContractSerializerOperationBehavior = context.Operation.Behaviors.Find <DataContractSerializerOperationBehavior>() as DataContractSerializerOperationBehavior;
            DataContractFormatAttribute             dataContractFormatAttribute             = (DataContractSerializerOperationBehavior == null) ? new DataContractFormatAttribute() : DataContractSerializerOperationBehavior.DataContractFormatAttribute;
            OperationFormatStyle style = dataContractFormatAttribute.Style;

            operationGenerator.GenerateOperation(context, ref style, false /*isEncoded*/, new WrappedBodyTypeGenerator(this, context), knownTypes);
            dataContractFormatAttribute.Style = style;
            if (dataContractFormatAttribute.Style != TypeLoader.DefaultDataContractFormatAttribute.Style)
            {
                context.SyncMethod.CustomAttributes.Add(OperationGenerator.GenerateAttributeDeclaration(context.Contract.ServiceContractGenerator, dataContractFormatAttribute));
            }
            if (knownTypes != null)
            {
                Dictionary <CodeTypeReference, object> operationKnownTypes = new Dictionary <CodeTypeReference, object>(new CodeTypeReferenceComparer());
                foreach (MessageDescription message in context.Operation.Messages)
                {
                    foreach (MessagePartDescription part in message.Body.Parts)
                    {
                        AddKnownTypesForPart(context, part, operationKnownTypes);
                    }
                    foreach (MessageHeaderDescription header in message.Headers)
                    {
                        AddKnownTypesForPart(context, header, operationKnownTypes);
                    }
                    if (OperationFormatter.IsValidReturnValue(message.Body.ReturnValue))
                    {
                        AddKnownTypesForPart(context, message.Body.ReturnValue, operationKnownTypes);
                    }
                }
            }
            UpdateTargetCompileUnit(context, this.codeCompileUnit);
        }
        void IOperationContractGenerationExtension.GenerateOperation(OperationContractGenerationContext context)
        {
            DataContractSerializerOperationBehavior behavior  = context.Operation.Behaviors.Find <DataContractSerializerOperationBehavior>();
            DataContractFormatAttribute             attribute = (behavior == null) ? new DataContractFormatAttribute() : behavior.DataContractFormatAttribute;
            OperationFormatStyle style = attribute.Style;

            this.operationGenerator.GenerateOperation(context, ref style, false, new WrappedBodyTypeGenerator(this, context), this.knownTypes);
            attribute.Style = style;
            if (attribute.Style != TypeLoader.DefaultDataContractFormatAttribute.Style)
            {
                context.SyncMethod.CustomAttributes.Add(System.ServiceModel.Description.OperationGenerator.GenerateAttributeDeclaration(context.Contract.ServiceContractGenerator, attribute));
            }
            if (this.knownTypes != null)
            {
                Dictionary <CodeTypeReference, object> operationKnownTypes = new Dictionary <CodeTypeReference, object>(new CodeTypeReferenceComparer());
                foreach (MessageDescription description in context.Operation.Messages)
                {
                    foreach (MessagePartDescription description2 in description.Body.Parts)
                    {
                        this.AddKnownTypesForPart(context, description2, operationKnownTypes);
                    }
                    foreach (MessageHeaderDescription description3 in description.Headers)
                    {
                        this.AddKnownTypesForPart(context, description3, operationKnownTypes);
                    }
                    if (OperationFormatter.IsValidReturnValue(description.Body.ReturnValue))
                    {
                        this.AddKnownTypesForPart(context, description.Body.ReturnValue, operationKnownTypes);
                    }
                }
            }
            UpdateTargetCompileUnit(context, this.codeCompileUnit);
        }
        protected override void ExportBody(int messageIndex, object state)
        {
            XmlSchemaType               type;
            MessageDescription          messageDescription          = base.operation.Messages[messageIndex];
            Message                     message                     = base.ExportedMessages.WsdlMessages[new MessageContractExporter.MessageDescriptionDictionaryKey(base.contractContext.Contract, messageDescription)];
            DataContractFormatAttribute dataContractFormatAttribute = ((DataContractSerializerOperationBehavior)base.extension).DataContractFormatAttribute;
            XmlSchemaSequence           wrapperSequence             = null;
            bool flag = messageDescription.Body.WrapperName != null;

            if ((dataContractFormatAttribute.Style == OperationFormatStyle.Document) && flag)
            {
                wrapperSequence = base.ExportWrappedPart(message, messageDescription.Body.WrapperName, messageDescription.Body.WrapperNamespace, base.SchemaSet, false);
            }
            if (OperationFormatter.IsValidReturnValue(messageDescription.Body.ReturnValue))
            {
                XmlQualifiedName typeName = base.ExportType(messageDescription.Body.ReturnValue.Type, messageDescription.Body.ReturnValue.Name, base.operation.Name, out type);
                base.ExportMessagePart(message, messageDescription.Body.ReturnValue, typeName, type, true, IsTypeNullable(messageDescription.Body.ReturnValue.Type), false, dataContractFormatAttribute.Style != OperationFormatStyle.Rpc, messageDescription.Body.WrapperNamespace, wrapperSequence, base.SchemaSet);
            }
            foreach (MessagePartDescription description2 in messageDescription.Body.Parts)
            {
                XmlQualifiedName name2 = base.ExportType(description2.Type, description2.Name, base.operation.Name, out type);
                base.ExportMessagePart(message, description2, name2, type, true, IsTypeNullable(description2.Type), false, dataContractFormatAttribute.Style != OperationFormatStyle.Rpc, messageDescription.Body.WrapperNamespace, wrapperSequence, base.SchemaSet);
            }
            if (dataContractFormatAttribute.Style == OperationFormatStyle.Rpc)
            {
                base.AddParameterOrder(messageDescription);
            }
        }
Beispiel #4
0
 public DataContractSerializerOperationBehavior(
     OperationDescription operation,
     DataContractFormatAttribute dataContractFormatAttribute)
 {
     this.format           = dataContractFormatAttribute;
     this.operation        = operation;
     MaxItemsInObjectGraph = int.MaxValue;
 }
Beispiel #5
0
        public DataContractMessagesFormatter(OperationDescription desc, DataContractFormatAttribute attr)
            : base(desc)
        {
#if !MOBILE
            this.serializerBehavior = desc.Behaviors.Find <DataContractSerializerOperationBehavior>();
#endif
            this.attr = attr;
        }
		public DataContractSerializerOperationBehavior (
			OperationDescription operation,
			DataContractFormatAttribute dataContractFormatAttribute)
		{
			this.format = dataContractFormatAttribute;
			this.operation = operation;
			MaxItemsInObjectGraph = int.MaxValue;
		}
Beispiel #7
0
 public static TypedMessageConverter Create(
     Type type,
     string action, string defaultNamespace,
     DataContractFormatAttribute formatterAttribute)
 {
     return(new DefaultTypedMessageConverter(
                new DataContractMessagesFormatter(
                    MessageContractToMessagesDescription(type, defaultNamespace, action),
                    formatterAttribute)));
 }
Beispiel #8
0
        private static bool DetermineXmlFormat(HttpOperationDescription operation)
        {
            Fx.Assert(operation != null, "The 'operation' parameter should not be null.");

            DataContractFormatAttribute  dataContract  = null;
            XmlSerializerFormatAttribute xmlSerializer = null;

            foreach (Attribute attribute in operation.Attributes)
            {
                if (dataContract == null)
                {
                    dataContract = attribute as DataContractFormatAttribute;
                }

                if (xmlSerializer == null)
                {
                    xmlSerializer = attribute as XmlSerializerFormatAttribute;
                }
            }

            if (xmlSerializer == null && dataContract != null)
            {
                return(false);
            }

            ContractDescription contract = operation.DeclaringContract;

            if (contract != null)
            {
                Type contractType = contract.ContractType;
                if (contractType != null)
                {
                    foreach (Attribute attribute in contractType.GetCustomAttributes(true).Cast <Attribute>())
                    {
                        if (dataContract == null)
                        {
                            dataContract = attribute as DataContractFormatAttribute;
                        }

                        if (xmlSerializer == null)
                        {
                            xmlSerializer = attribute as XmlSerializerFormatAttribute;
                        }
                    }

                    if (xmlSerializer == null && dataContract != null)
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Beispiel #9
0
        public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
        {
            dispatchOperation.SerializeReply     = true;
            dispatchOperation.DeserializeRequest = true;
            var dataContractFormatAttribute = operationDescription.SyncMethod.GetCustomAttributes(typeof(DataContractFormatAttribute), true).FirstOrDefault() as DataContractFormatAttribute;

            if (null == dataContractFormatAttribute)
            {
                dataContractFormatAttribute = new DataContractFormatAttribute();
            }
            var dataContractSerializerOperationBehavior = operationDescription.Behaviors.Find <DataContractSerializerOperationBehavior>();

            dispatchOperation.Formatter = new CompressionMessageFormatter(this.Algorithm, operationDescription, dataContractFormatAttribute, dataContractSerializerOperationBehavior);
        }
        private MessageInfo CreateMessageInfo(DataContractFormatAttribute dataContractFormatAttribute,
                                              MessageDescription messageDescription, DataContractSerializerOperationBehavior serializerFactory)
        {
            if (messageDescription.IsUntypedMessage)
            {
                return(null);
            }

            MessageInfo messageInfo = new MessageInfo();

            MessageBodyDescription body = messageDescription.Body;

            if (body.WrapperName != null)
            {
                messageInfo.WrapperName      = AddToDictionary(body.WrapperName);
                messageInfo.WrapperNamespace = AddToDictionary(body.WrapperNamespace);
            }
            MessagePartDescriptionCollection parts = body.Parts;

            messageInfo.BodyParts = new PartInfo[parts.Count];
            for (int i = 0; i < parts.Count; i++)
            {
                messageInfo.BodyParts[i] = CreatePartInfo(parts[i], dataContractFormatAttribute.Style, serializerFactory);
            }

            if (IsValidReturnValue(messageDescription.Body.ReturnValue))
            {
                messageInfo.ReturnPart = CreatePartInfo(messageDescription.Body.ReturnValue, dataContractFormatAttribute.Style, serializerFactory);
            }

            messageInfo.HeaderDescriptionTable = new MessageHeaderDescriptionTable();
            messageInfo.HeaderParts            = new PartInfo[messageDescription.Headers.Count];
            for (int i = 0; i < messageDescription.Headers.Count; i++)
            {
                MessageHeaderDescription headerDescription = messageDescription.Headers[i];
                if (headerDescription.IsUnknownHeaderCollection)
                {
                    messageInfo.UnknownHeaderDescription = headerDescription;
                }
                else
                {
                    ValidateDataContractType(headerDescription.Type);
                    messageInfo.HeaderDescriptionTable.Add(headerDescription.Name, headerDescription.Namespace, headerDescription);
                }
                messageInfo.HeaderParts[i] = CreatePartInfo(headerDescription, OperationFormatStyle.Document, serializerFactory);
            }
            messageInfo.AnyHeaders = messageInfo.UnknownHeaderDescription != null || messageInfo.HeaderDescriptionTable.Count > 0;
            return(messageInfo);
        }
Beispiel #11
0
        private MessageInfo CreateMessageInfo(DataContractFormatAttribute dataContractFormatAttribute, MessageDescription messageDescription, DataContractSerializerOperationBehavior serializerFactory)
        {
            if (messageDescription.IsUntypedMessage)
            {
                return(null);
            }
            MessageInfo            info = new MessageInfo();
            MessageBodyDescription body = messageDescription.Body;

            if (body.WrapperName != null)
            {
                info.WrapperName      = base.AddToDictionary(body.WrapperName);
                info.WrapperNamespace = base.AddToDictionary(body.WrapperNamespace);
            }
            MessagePartDescriptionCollection parts = body.Parts;

            info.BodyParts = new PartInfo[parts.Count];
            for (int i = 0; i < parts.Count; i++)
            {
                info.BodyParts[i] = this.CreatePartInfo(parts[i], dataContractFormatAttribute.Style, serializerFactory);
            }
            if (OperationFormatter.IsValidReturnValue(messageDescription.Body.ReturnValue))
            {
                info.ReturnPart = this.CreatePartInfo(messageDescription.Body.ReturnValue, dataContractFormatAttribute.Style, serializerFactory);
            }
            info.HeaderDescriptionTable = new OperationFormatter.MessageHeaderDescriptionTable();
            info.HeaderParts            = new PartInfo[messageDescription.Headers.Count];
            for (int j = 0; j < messageDescription.Headers.Count; j++)
            {
                MessageHeaderDescription message = messageDescription.Headers[j];
                if (message.IsUnknownHeaderCollection)
                {
                    info.UnknownHeaderDescription = message;
                }
                else
                {
                    this.ValidateDataContractType(message.Type);
                    info.HeaderDescriptionTable.Add(message.Name, message.Namespace, message);
                }
                info.HeaderParts[j] = this.CreatePartInfo(message, OperationFormatStyle.Document, serializerFactory);
            }
            info.AnyHeaders = (info.UnknownHeaderDescription != null) || (info.HeaderDescriptionTable.Count > 0);
            return(info);
        }
Beispiel #12
0
        // FIXME: this should be refactored and eliminated.
        // XmlSerializerFormatAttribute and DataContractFormatAttribute
        // should be handled at ContractDescription.GetContract (to fill
        // IOperationBehavior for each).
        //
        // Fixing the issue above should also fix "Formatter is already filled at initial state" issue described in EndpointDispatcher.cs and ContractDescription.cs.
        public static BaseMessagesFormatter Create(OperationDescription desc)
        {
            MethodInfo attrProvider = desc.SyncMethod ?? desc.BeginMethod;

            object [] attrs;
            attrs = attrProvider.GetCustomAttributes(typeof(XmlSerializerFormatAttribute), false);
            if (attrs != null && attrs.Length > 0)
            {
                return(new XmlMessagesFormatter(desc, (XmlSerializerFormatAttribute)attrs [0]));
            }

            attrs = attrProvider.GetCustomAttributes(typeof(DataContractFormatAttribute), false);
            DataContractFormatAttribute dataAttr = null;

            if (attrs != null && attrs.Length > 0)
            {
                dataAttr = (DataContractFormatAttribute)attrs [0];
            }
            return(new DataContractMessagesFormatter(desc, dataAttr));
        }
        public DataContractSerializerOperationFormatter(OperationDescription description, DataContractFormatAttribute dataContractFormatAttribute,
            DataContractSerializerOperationBehavior serializerFactory)
            : base(description, dataContractFormatAttribute.Style == OperationFormatStyle.Rpc, false/*isEncoded*/)
        {
            if (description == null)
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("description");

            _serializerFactory = serializerFactory ?? new DataContractSerializerOperationBehavior(description);
            foreach (Type type in description.KnownTypes)
            {
                if (_knownTypes == null)
                    _knownTypes = new List<Type>();
                if (type == null)
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.Format(SR.SFxKnownTypeNull, description.Name)));
                ValidateDataContractType(type);
                _knownTypes.Add(type);
            }
            requestMessageInfo = CreateMessageInfo(dataContractFormatAttribute, RequestDescription, _serializerFactory);
            if (ReplyDescription != null)
                replyMessageInfo = CreateMessageInfo(dataContractFormatAttribute, ReplyDescription, _serializerFactory);
        }
Beispiel #14
0
 public DataContractMessagesFormatter(MessageDescriptionCollection messages, DataContractFormatAttribute attr)
     : base(messages)
 {
     this.attr = attr;
 }
Beispiel #15
0
 public DataContractSerializerOperationFormatter(OperationDescription description, DataContractFormatAttribute dataContractFormatAttribute, DataContractSerializerOperationBehavior serializerFactory) : base(description, dataContractFormatAttribute.Style == OperationFormatStyle.Rpc, false)
 {
     if (description == null)
     {
         throw System.ServiceModel.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("description");
     }
     this.serializerFactory = serializerFactory ?? new DataContractSerializerOperationBehavior(description);
     foreach (System.Type type in description.KnownTypes)
     {
         if (this.knownTypes == null)
         {
             this.knownTypes = new List <System.Type>();
         }
         if (type == null)
         {
             throw System.ServiceModel.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.ServiceModel.SR.GetString("SFxKnownTypeNull", new object[] { description.Name })));
         }
         this.ValidateDataContractType(type);
         this.knownTypes.Add(type);
     }
     this.requestMessageInfo = this.CreateMessageInfo(dataContractFormatAttribute, base.RequestDescription, this.serializerFactory);
     if (base.ReplyDescription != null)
     {
         this.replyMessageInfo = this.CreateMessageInfo(dataContractFormatAttribute, base.ReplyDescription, this.serializerFactory);
     }
 }
        public static TypedMessageConverter Create(Type messageContract, String action, String defaultNamespace, DataContractFormatAttribute formatterAttribute)
        {
            if (messageContract == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("messageContract"));
            }

            if (!messageContract.IsDefined(typeof(MessageContractAttribute), false))
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.SFxMessageContractAttributeRequired, messageContract), "messageContract"));
            }

            if (defaultNamespace == null)
            {
                defaultNamespace = NamingHelper.DefaultNamespace;
            }

            return(new XmlMessageConverter(GetOperationFormatter(messageContract, formatterAttribute, defaultNamespace, action)));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="SerializationLoggingOperationBehavior" /> class.
 /// </summary>
 /// <param name="operation">The operation being examined.</param>
 /// <param name="dataContractFormatAttribute">
 /// The run-time object that exposes customization properties for the operation described by <paramref name="operation" />.
 /// </param>
 public SerializationLoggingOperationBehavior(
     OperationDescription operation,
     DataContractFormatAttribute dataContractFormatAttribute)
     : base(operation, dataContractFormatAttribute)
 {
 }
Beispiel #18
0
 public DataContractSerializerOperationBehavior(OperationDescription operation, DataContractFormatAttribute dataContractFormatAttribute)
 {
     _dataContractFormatAttribute = dataContractFormatAttribute ?? new DataContractFormatAttribute();
     _operation = operation;
 }
 public DataContractSerializerOperationBehavior(OperationDescription operation, DataContractFormatAttribute dataContractFormatAttribute)
 {
     _dataContractFormatAttribute = dataContractFormatAttribute ?? new DataContractFormatAttribute();
     _operation = operation;
 }
 internal ExtensionData(DataContractFormatAttribute dcFormatAttr)
 {
     this.dcFormatAttr = dcFormatAttr;
 }
        private MessageInfo CreateMessageInfo(DataContractFormatAttribute dataContractFormatAttribute,
            MessageDescription messageDescription, DataContractSerializerOperationBehavior serializerFactory)
        {
            if (messageDescription.IsUntypedMessage)
                return null;
            MessageInfo messageInfo = new MessageInfo();

            MessageBodyDescription body = messageDescription.Body;
            if (body.WrapperName != null)
            {
                messageInfo.WrapperName = AddToDictionary(body.WrapperName);
                messageInfo.WrapperNamespace = AddToDictionary(body.WrapperNamespace);
            }
            MessagePartDescriptionCollection parts = body.Parts;
            messageInfo.BodyParts = new PartInfo[parts.Count];
            for (int i = 0; i < parts.Count; i++)
                messageInfo.BodyParts[i] = CreatePartInfo(parts[i], dataContractFormatAttribute.Style, serializerFactory);
            if (IsValidReturnValue(messageDescription.Body.ReturnValue))
                messageInfo.ReturnPart = CreatePartInfo(messageDescription.Body.ReturnValue, dataContractFormatAttribute.Style, serializerFactory);
            messageInfo.HeaderDescriptionTable = new MessageHeaderDescriptionTable();
            messageInfo.HeaderParts = new PartInfo[messageDescription.Headers.Count];
            for (int i = 0; i < messageDescription.Headers.Count; i++)
            {
                MessageHeaderDescription headerDescription = messageDescription.Headers[i];
                if (headerDescription.IsUnknownHeaderCollection)
                    messageInfo.UnknownHeaderDescription = headerDescription;
                else
                {
                    ValidateDataContractType(headerDescription.Type);
                    messageInfo.HeaderDescriptionTable.Add(headerDescription.Name, headerDescription.Namespace, headerDescription);
                }
                messageInfo.HeaderParts[i] = CreatePartInfo(headerDescription, OperationFormatStyle.Document, serializerFactory);
            }
            messageInfo.AnyHeaders = messageInfo.UnknownHeaderDescription != null || messageInfo.HeaderDescriptionTable.Count > 0;
            return messageInfo;
        }
Beispiel #22
0
 public LoadBalanceDataContractSerializationBehavior(OperationDescription operation, DataContractFormatAttribute dataContractFormatAttribute) : base(operation, dataContractFormatAttribute)
 {
     base.DataContractResolver  = new LoadBalanceDataContractResolver();
     base.DataContractSurrogate = new LoadBalanceDataContractSurrogate();
 }
Beispiel #23
0
 /// <summary>
 /// متد سازنده
 /// </summary>
 /// <param name="operation">یک OperationDescription که نماینگار Operation است</param>
 /// <param name="dataContractFormatAttribute">یک DataContractFormatAttribute برای کنترل عمل serialization</param>
 public NetDataContractOperationBehavior(OperationDescription operation, DataContractFormatAttribute dataContractFormatAttribute)
     : base(operation, dataContractFormatAttribute)
 {
 }
 public CustomDataContractSerializerOperationBehavior(OperationDescription operation,
                                                      DataContractFormatAttribute dataContractFormatAttribute)
     : base(operation, dataContractFormatAttribute)
 {
 }
Beispiel #25
0
 public static TypedMessageConverter Create(System.Type messageContract, string action, string defaultNamespace, DataContractFormatAttribute formatterAttribute)
 {
     if (messageContract == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("messageContract"));
     }
     if (!messageContract.IsDefined(typeof(MessageContractAttribute), false))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(System.ServiceModel.SR.GetString("SFxMessageContractAttributeRequired", new object[] { messageContract }), "messageContract"));
     }
     if (defaultNamespace == null)
     {
         defaultNamespace = "http://tempuri.org/";
     }
     return(new XmlMessageConverter(GetOperationFormatter(messageContract, formatterAttribute, defaultNamespace, action)));
 }
 public static TypedMessageConverter Create(Type messageContract, string action, DataContractFormatAttribute formatterAttribute)
 {
     return(Create(messageContract, action, null, formatterAttribute));
 }
Beispiel #27
0
 public DataContractMessagesFormatter(OperationDescription desc, DataContractFormatAttribute attr)
     : base(desc)
 {
     this.attr = attr;
 }
        public DataContractSerializerOperationFormatter(OperationDescription description, DataContractFormatAttribute dataContractFormatAttribute,
                                                        DataContractSerializerOperationBehavior serializerFactory)
            : base(description, dataContractFormatAttribute.Style == OperationFormatStyle.Rpc, false /*isEncoded*/)
        {
            if (description == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(description));
            }

            _serializerFactory = serializerFactory ?? new DataContractSerializerOperationBehavior(description);
            foreach (Type type in description.KnownTypes)
            {
                if (_knownTypes == null)
                {
                    _knownTypes = new List <Type>();
                }

                if (type == null)
                {
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.Format(SR.SFxKnownTypeNull, description.Name)));
                }

                ValidateDataContractType(type);
                _knownTypes.Add(type);
            }
            requestMessageInfo = CreateMessageInfo(dataContractFormatAttribute, RequestDescription, _serializerFactory);
            if (ReplyDescription != null)
            {
                replyMessageInfo = CreateMessageInfo(dataContractFormatAttribute, ReplyDescription, _serializerFactory);
            }
        }
Beispiel #29
0
 public static TypedMessageConverter Create(
     Type type, string action,
     DataContractFormatAttribute formatterAttribute)
 {
     return(Create(type, action, TempUri, formatterAttribute));
 }
 internal DataContractSerializerOperationBehavior(OperationDescription operation,
     DataContractFormatAttribute dataContractFormatAttribute, bool builtInOperationBehavior)
     : this(operation, dataContractFormatAttribute)
 {
     _builtInOperationBehavior = builtInOperationBehavior;
 }
Beispiel #31
0
        public CompressionMessageFormatter(CompressionAlgorithm algorithm, OperationDescription description, DataContractFormatAttribute dataContractFormatAttribute, DataContractSerializerOperationBehavior serializerFactory)
        {
            this.MessageCompressor = new MessageCompressor(algorithm);
            Type innerFormatterType = Type.GetType(DataContractSerializerOperationFormatterTypeName);
            var  innerFormatter     = Activator.CreateInstance(innerFormatterType, description, dataContractFormatAttribute, serializerFactory);

            this.InnerClientMessageFormatter   = innerFormatter as IClientMessageFormatter;
            this.InnerDispatchMessageFormatter = innerFormatter as IDispatchMessageFormatter;
        }
Beispiel #32
0
 internal DataContractSerializerOperationBehavior(OperationDescription operation,
                                                  DataContractFormatAttribute dataContractFormatAttribute, bool builtInOperationBehavior)
     : this(operation, dataContractFormatAttribute)
 {
     _builtInOperationBehavior = builtInOperationBehavior;
 }
 public ReferencePreservingOperationBehavior(OperationDescription operationDescription, DataContractFormatAttribute dataContractFormatAttribute)
     : base(operationDescription, dataContractFormatAttribute)
 {
     //
 }