StandardBindingReliableSessionElement.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //------------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------------------------
  4. namespace System.ServiceModel.Configuration
  5. {
  6. using System;
  7. using System.ComponentModel;
  8. using System.Configuration;
  9. using System.Runtime;
  10. using System.ServiceModel;
  11. using System.ServiceModel.Channels;
  12. public partial class StandardBindingReliableSessionElement : ServiceModelConfigurationElement
  13. {
  14. public StandardBindingReliableSessionElement()
  15. {
  16. }
  17. [ConfigurationProperty(ConfigurationStrings.Ordered, DefaultValue = ReliableSessionDefaults.Ordered)]
  18. public bool Ordered
  19. {
  20. get { return (bool)base[ConfigurationStrings.Ordered]; }
  21. set { base[ConfigurationStrings.Ordered] = value; }
  22. }
  23. [ConfigurationProperty(ConfigurationStrings.InactivityTimeout, DefaultValue = ReliableSessionDefaults.InactivityTimeoutString)]
  24. [TypeConverter(typeof(TimeSpanOrInfiniteConverter))]
  25. [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanOneTick)]
  26. public TimeSpan InactivityTimeout
  27. {
  28. get { return (TimeSpan)base[ConfigurationStrings.InactivityTimeout]; }
  29. set { base[ConfigurationStrings.InactivityTimeout] = value; }
  30. }
  31. public void InitializeFrom(System.ServiceModel.ReliableSession reliableSession)
  32. {
  33. if (null == reliableSession)
  34. {
  35. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reliableSession");
  36. }
  37. SetPropertyValueIfNotDefaultValue(ConfigurationStrings.Ordered, reliableSession.Ordered);
  38. SetPropertyValueIfNotDefaultValue(ConfigurationStrings.InactivityTimeout, reliableSession.InactivityTimeout);
  39. }
  40. public void ApplyConfiguration(System.ServiceModel.ReliableSession reliableSession)
  41. {
  42. if (null == reliableSession)
  43. {
  44. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reliableSession");
  45. }
  46. reliableSession.Ordered = this.Ordered;
  47. reliableSession.InactivityTimeout = this.InactivityTimeout;
  48. }
  49. }
  50. }