ServiceDebugElement.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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. public sealed partial class ServiceDebugElement : BehaviorExtensionElement
  10. {
  11. public ServiceDebugElement()
  12. {
  13. }
  14. [ConfigurationProperty(ConfigurationStrings.HttpHelpPageEnabled, DefaultValue = true)]
  15. public bool HttpHelpPageEnabled
  16. {
  17. get { return (bool)base[ConfigurationStrings.HttpHelpPageEnabled]; }
  18. set { base[ConfigurationStrings.HttpHelpPageEnabled] = value; }
  19. }
  20. [ConfigurationProperty(ConfigurationStrings.HttpHelpPageUrl)]
  21. public Uri HttpHelpPageUrl
  22. {
  23. get { return (Uri)base[ConfigurationStrings.HttpHelpPageUrl]; }
  24. set { base[ConfigurationStrings.HttpHelpPageUrl] = value; }
  25. }
  26. [ConfigurationProperty(ConfigurationStrings.HttpsHelpPageEnabled, DefaultValue = true)]
  27. public bool HttpsHelpPageEnabled
  28. {
  29. get { return (bool)base[ConfigurationStrings.HttpsHelpPageEnabled]; }
  30. set { base[ConfigurationStrings.HttpsHelpPageEnabled] = value; }
  31. }
  32. [ConfigurationProperty(ConfigurationStrings.HttpsHelpPageUrl)]
  33. public Uri HttpsHelpPageUrl
  34. {
  35. get { return (Uri)base[ConfigurationStrings.HttpsHelpPageUrl]; }
  36. set { base[ConfigurationStrings.HttpsHelpPageUrl] = value; }
  37. }
  38. [ConfigurationProperty(ConfigurationStrings.HttpHelpPageBinding, DefaultValue = "")]
  39. [StringValidator(MinLength = 0)]
  40. public string HttpHelpPageBinding
  41. {
  42. get { return (string)base[ConfigurationStrings.HttpHelpPageBinding]; }
  43. set { base[ConfigurationStrings.HttpHelpPageBinding] = value; }
  44. }
  45. [ConfigurationProperty(ConfigurationStrings.HttpHelpPageBindingConfiguration, DefaultValue = "")]
  46. [StringValidator(MinLength = 0)]
  47. public string HttpHelpPageBindingConfiguration
  48. {
  49. get { return (string)base[ConfigurationStrings.HttpHelpPageBindingConfiguration]; }
  50. set { base[ConfigurationStrings.HttpHelpPageBindingConfiguration] = value; }
  51. }
  52. [ConfigurationProperty(ConfigurationStrings.HttpsHelpPageBinding, DefaultValue = "")]
  53. [StringValidator(MinLength = 0)]
  54. public string HttpsHelpPageBinding
  55. {
  56. get { return (string)base[ConfigurationStrings.HttpsHelpPageBinding]; }
  57. set { base[ConfigurationStrings.HttpsHelpPageBinding] = value; }
  58. }
  59. [ConfigurationProperty(ConfigurationStrings.HttpsHelpPageBindingConfiguration, DefaultValue = "")]
  60. [StringValidator(MinLength = 0)]
  61. public string HttpsHelpPageBindingConfiguration
  62. {
  63. get { return (string)base[ConfigurationStrings.HttpsHelpPageBindingConfiguration]; }
  64. set { base[ConfigurationStrings.HttpsHelpPageBindingConfiguration] = value; }
  65. }
  66. [ConfigurationProperty(ConfigurationStrings.IncludeExceptionDetailInFaults, DefaultValue = false)]
  67. public bool IncludeExceptionDetailInFaults
  68. {
  69. get { return (bool)base[ConfigurationStrings.IncludeExceptionDetailInFaults]; }
  70. set { base[ConfigurationStrings.IncludeExceptionDetailInFaults] = value; }
  71. }
  72. public override void CopyFrom(ServiceModelExtensionElement from)
  73. {
  74. base.CopyFrom(from);
  75. ServiceDebugElement source = (ServiceDebugElement)from;
  76. #pragma warning suppress 56506 //[....]; base.CopyFrom() check for 'from' being null
  77. this.HttpHelpPageEnabled = source.HttpHelpPageEnabled;
  78. this.HttpHelpPageUrl = source.HttpHelpPageUrl;
  79. this.HttpsHelpPageEnabled = source.HttpsHelpPageEnabled;
  80. this.HttpsHelpPageUrl = source.HttpsHelpPageUrl;
  81. this.IncludeExceptionDetailInFaults = source.IncludeExceptionDetailInFaults;
  82. this.HttpHelpPageBinding = source.HttpHelpPageBinding;
  83. this.HttpHelpPageBindingConfiguration = source.HttpHelpPageBindingConfiguration;
  84. this.HttpsHelpPageBinding = source.HttpsHelpPageBinding;
  85. this.HttpsHelpPageBindingConfiguration = source.HttpsHelpPageBindingConfiguration;
  86. }
  87. protected internal override object CreateBehavior()
  88. {
  89. ServiceDebugBehavior behavior = new ServiceDebugBehavior();
  90. behavior.HttpHelpPageEnabled = this.HttpHelpPageEnabled;
  91. behavior.HttpHelpPageUrl = this.HttpHelpPageUrl;
  92. behavior.HttpsHelpPageEnabled = this.HttpsHelpPageEnabled;
  93. behavior.HttpsHelpPageUrl = this.HttpsHelpPageUrl;
  94. behavior.IncludeExceptionDetailInFaults = this.IncludeExceptionDetailInFaults;
  95. if (!String.IsNullOrEmpty(this.HttpHelpPageBinding))
  96. behavior.HttpHelpPageBinding = ConfigLoader.LookupBinding(this.HttpHelpPageBinding, this.HttpHelpPageBindingConfiguration);
  97. if (!String.IsNullOrEmpty(this.HttpsHelpPageBinding))
  98. behavior.HttpsHelpPageBinding = ConfigLoader.LookupBinding(this.HttpsHelpPageBinding, this.HttpsHelpPageBindingConfiguration);
  99. return behavior;
  100. }
  101. public override Type BehaviorType
  102. {
  103. get { return typeof(ServiceDebugBehavior); }
  104. }
  105. }
  106. }