UseRequestHeadersForMetadataAddressElement.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //------------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------------------------
  4. namespace System.ServiceModel.Configuration
  5. {
  6. using System.Configuration;
  7. using System.ServiceModel.Description;
  8. using System.Collections.Generic;
  9. using System.ComponentModel;
  10. public sealed partial class UseRequestHeadersForMetadataAddressElement : BehaviorExtensionElement
  11. {
  12. public UseRequestHeadersForMetadataAddressElement()
  13. {
  14. }
  15. [ConfigurationProperty(ConfigurationStrings.DefaultPorts)]
  16. public DefaultPortElementCollection DefaultPorts
  17. {
  18. get { return (DefaultPortElementCollection)base[ConfigurationStrings.DefaultPorts]; }
  19. }
  20. public override void CopyFrom(ServiceModelExtensionElement from)
  21. {
  22. base.CopyFrom(from);
  23. UseRequestHeadersForMetadataAddressElement source = (UseRequestHeadersForMetadataAddressElement)from;
  24. this.DefaultPorts.Clear();
  25. foreach (DefaultPortElement DefaultPort in source.DefaultPorts)
  26. {
  27. this.DefaultPorts.Add(new DefaultPortElement(DefaultPort));
  28. }
  29. }
  30. protected internal override object CreateBehavior()
  31. {
  32. UseRequestHeadersForMetadataAddressBehavior behavior = new UseRequestHeadersForMetadataAddressBehavior();
  33. foreach (DefaultPortElement DefaultPort in this.DefaultPorts)
  34. {
  35. behavior.DefaultPortsByScheme.Add(DefaultPort.Scheme, DefaultPort.Port);
  36. }
  37. return behavior;
  38. }
  39. public override Type BehaviorType
  40. {
  41. get { return typeof(UseRequestHeadersForMetadataAddressBehavior); }
  42. }
  43. }
  44. }