add ISafeSerializationData
[mcs.git] / class / System.ServiceModel.Routing / System.ServiceModel.Routing.Configuration / RoutingExtensionElement.cs
blob2aca3ef8045c8271d7727e7947e20760493f5ad1
1 using System;
2 using System.Collections.Generic;
3 using System.Collections.ObjectModel;
4 using System.Configuration;
5 using System.ServiceModel;
6 using System.ServiceModel.Channels;
7 using System.ServiceModel.Configuration;
8 using System.ServiceModel.Description;
9 using System.ServiceModel.Dispatcher;
11 namespace System.ServiceModel.Routing.Configuration
13 public sealed class RoutingExtensionElement : BehaviorExtensionElement
15 public override Type BehaviorType {
16 get { return typeof (RoutingExtension); }
19 [ConfigurationProperty ("filterTableName", DefaultValue = null)]
20 public string FilterTableName {
21 get { return (string) base ["filterTableName"]; }
22 set { base ["filterTableName"] = value; }
25 [ConfigurationProperty ("routeOnHeadersOnly", DefaultValue = true, Options = ConfigurationPropertyOptions.None)]
26 public bool RouteOnHeadersOnly {
27 get { return (bool) base ["routeOnHeadersOnly"]; }
28 set { base ["routeOnHeadersOnly"] = value; }
31 [ConfigurationProperty ("soapProcessingEnabled", DefaultValue = true)]
32 public bool SoapProcessingEnabled {
33 get { return (bool) base ["soapProcessingEnabled"]; }
34 set { base ["soapProcessingEnabled"] = value; }
37 protected override object CreateBehavior ()
39 var table = RoutingSection.CreateFilterTable (FilterTableName);
41 var cfg = new RoutingConfiguration (table, RouteOnHeadersOnly) { SoapProcessingEnabled = this.SoapProcessingEnabled };
42 return new RoutingBehavior (cfg);