BasicHttpsSecurityElement.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //------------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------------------------
  4. namespace System.ServiceModel.Configuration
  5. {
  6. using System.Configuration;
  7. using System.ServiceModel;
  8. public sealed partial class BasicHttpsSecurityElement : ServiceModelConfigurationElement
  9. {
  10. [ConfigurationProperty(ConfigurationStrings.Mode, DefaultValue = BasicHttpsSecurity.DefaultMode)]
  11. [ServiceModelEnumValidator(typeof(BasicHttpsSecurityModeHelper))]
  12. public BasicHttpsSecurityMode Mode
  13. {
  14. get { return (BasicHttpsSecurityMode)base[ConfigurationStrings.Mode]; }
  15. set { base[ConfigurationStrings.Mode] = value; }
  16. }
  17. [ConfigurationProperty(ConfigurationStrings.Transport)]
  18. public HttpTransportSecurityElement Transport
  19. {
  20. get { return (HttpTransportSecurityElement)base[ConfigurationStrings.Transport]; }
  21. }
  22. [ConfigurationProperty(ConfigurationStrings.Message)]
  23. public BasicHttpMessageSecurityElement Message
  24. {
  25. get { return (BasicHttpMessageSecurityElement)base[ConfigurationStrings.Message]; }
  26. }
  27. internal void ApplyConfiguration(BasicHttpsSecurity security)
  28. {
  29. if (security == null)
  30. {
  31. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security");
  32. }
  33. security.Mode = this.Mode;
  34. this.Transport.ApplyConfiguration(security.Transport);
  35. this.Message.ApplyConfiguration(security.Message);
  36. }
  37. internal void InitializeFrom(BasicHttpsSecurity security)
  38. {
  39. if (security == null)
  40. {
  41. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security");
  42. }
  43. SetPropertyValueIfNotDefaultValue(ConfigurationStrings.Mode, security.Mode);
  44. this.Transport.InitializeFrom(security.Transport);
  45. this.Message.InitializeFrom(security.Message);
  46. }
  47. }
  48. }