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
);