Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
UseParadoxDataContractSerializerAttribute.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System;
4 using System.ServiceModel.Channels;
5 using System.ServiceModel.Description;
6 
7 namespace SiliconStudio.BuildEngine
8 {
10  {
11  public void AddBindingParameters(OperationDescription description,
12  BindingParameterCollection parameters)
13  {
14  }
15 
16  public void ApplyClientBehavior(OperationDescription description,
17  System.ServiceModel.Dispatcher.ClientOperation proxy)
18  {
19  ReplaceDataContractSerializerOperationBehavior(description);
20  }
21 
22  public void ApplyDispatchBehavior(OperationDescription description,
23  System.ServiceModel.Dispatcher.DispatchOperation dispatch)
24  {
25  ReplaceDataContractSerializerOperationBehavior(description);
26  }
27 
28  public void Validate(OperationDescription description)
29  {
30  }
31 
32  private static void ReplaceDataContractSerializerOperationBehavior(
33  OperationDescription description)
34  {
35  var dcsOperationBehavior =
36  description.Behaviors.Find<DataContractSerializerOperationBehavior>();
37 
38  if (dcsOperationBehavior != null)
39  {
40  description.Behaviors.Remove(dcsOperationBehavior);
41  description.Behaviors.Add(new ParadoxDataContractOperationBehavior(description));
42  }
43  }
44  }
45 }
void AddBindingParameters(OperationDescription description, BindingParameterCollection parameters)
void ApplyClientBehavior(OperationDescription description, System.ServiceModel.Dispatcher.ClientOperation proxy)
void ApplyDispatchBehavior(OperationDescription description, System.ServiceModel.Dispatcher.DispatchOperation dispatch)