private static void InjectSerializer(OperationDescription description, RegisterNamespacePrefixAttribute[] attributes) { PrefixContractSerializerOperationBehavior padcsOperationBehavior = description.Behaviors.Find<PrefixContractSerializerOperationBehavior>(); if (padcsOperationBehavior == null) { DataContractSerializerOperationBehavior dcsOperationBehavior = description.Behaviors.Find<DataContractSerializerOperationBehavior>(); if (dcsOperationBehavior != null) { description.Behaviors.Remove(dcsOperationBehavior); padcsOperationBehavior = new PrefixContractSerializerOperationBehavior(description, attributes); padcsOperationBehavior.MaxItemsInObjectGraph = int.MaxValue; description.Behaviors.Add(padcsOperationBehavior); } } }
/// <summary> /// Initializes a new instance of the <see cref="PrefixContractSerializerOperationBehavior"/> class. /// </summary> /// <param name="operationDescription">The operation description.</param> /// <param name="attributes">The attributes.</param> public PrefixContractSerializerOperationBehavior(OperationDescription operationDescription, RegisterNamespacePrefixAttribute[] attributes) : base(operationDescription) { prefixAttributes = attributes; }