MsmqBindingBase.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. //------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.ServiceModel
  5. {
  6. using System;
  7. using System.ComponentModel;
  8. using System.ServiceModel.Channels;
  9. using System.Net.Security;
  10. public abstract class MsmqBindingBase : Binding, IBindingRuntimePreferences
  11. {
  12. internal MsmqBindingElementBase transport;
  13. protected MsmqBindingBase()
  14. { }
  15. [DefaultValue(typeof(System.TimeSpan), MsmqDefaults.ValidityDurationString)]
  16. public TimeSpan ValidityDuration
  17. {
  18. get { return transport.ValidityDuration; }
  19. set { transport.ValidityDuration = value; }
  20. }
  21. [DefaultValue(MsmqDefaults.CustomDeadLetterQueue)]
  22. public Uri CustomDeadLetterQueue
  23. {
  24. get { return transport.CustomDeadLetterQueue; }
  25. set { transport.CustomDeadLetterQueue = value; }
  26. }
  27. [DefaultValue(MsmqDefaults.DeadLetterQueue)]
  28. public DeadLetterQueue DeadLetterQueue
  29. {
  30. get { return transport.DeadLetterQueue; }
  31. set { transport.DeadLetterQueue = value; }
  32. }
  33. [DefaultValue(MsmqDefaults.Durable)]
  34. public bool Durable
  35. {
  36. get { return transport.Durable; }
  37. set { transport.Durable = value; }
  38. }
  39. [DefaultValue(MsmqDefaults.ExactlyOnce)]
  40. public bool ExactlyOnce
  41. {
  42. get { return transport.ExactlyOnce; }
  43. set { transport.ExactlyOnce = value; }
  44. }
  45. [DefaultValue(TransportDefaults.MaxReceivedMessageSize)]
  46. public long MaxReceivedMessageSize
  47. {
  48. get { return transport.MaxReceivedMessageSize; }
  49. set { transport.MaxReceivedMessageSize = value; }
  50. }
  51. [DefaultValue(MsmqDefaults.ReceiveRetryCount)]
  52. public int ReceiveRetryCount
  53. {
  54. get { return transport.ReceiveRetryCount; }
  55. set { transport.ReceiveRetryCount = value; }
  56. }
  57. [DefaultValue(MsmqDefaults.MaxRetryCycles)]
  58. public int MaxRetryCycles
  59. {
  60. get { return transport.MaxRetryCycles; }
  61. set { transport.MaxRetryCycles = value; }
  62. }
  63. [DefaultValue(MsmqDefaults.ReceiveContextEnabled)]
  64. public bool ReceiveContextEnabled
  65. {
  66. get { return transport.ReceiveContextEnabled; }
  67. set { transport.ReceiveContextEnabled = value; }
  68. }
  69. [DefaultValue(MsmqDefaults.ReceiveErrorHandling)]
  70. public ReceiveErrorHandling ReceiveErrorHandling
  71. {
  72. get { return transport.ReceiveErrorHandling; }
  73. set { transport.ReceiveErrorHandling = value; }
  74. }
  75. [DefaultValue(typeof(System.TimeSpan), MsmqDefaults.RetryCycleDelayString)]
  76. public TimeSpan RetryCycleDelay
  77. {
  78. get { return transport.RetryCycleDelay; }
  79. set { transport.RetryCycleDelay = value; }
  80. }
  81. public override string Scheme { get { return transport.Scheme; } }
  82. [DefaultValue(typeof(System.TimeSpan), MsmqDefaults.TimeToLiveString)]
  83. public TimeSpan TimeToLive
  84. {
  85. get { return transport.TimeToLive; }
  86. set { transport.TimeToLive = value; }
  87. }
  88. [DefaultValue(MsmqDefaults.UseSourceJournal)]
  89. public bool UseSourceJournal
  90. {
  91. get { return transport.UseSourceJournal; }
  92. set { transport.UseSourceJournal = value; }
  93. }
  94. [DefaultValue(MsmqDefaults.UseMsmqTracing)]
  95. public bool UseMsmqTracing
  96. {
  97. get { return transport.UseMsmqTracing; }
  98. set { transport.UseMsmqTracing = value; }
  99. }
  100. bool IBindingRuntimePreferences.ReceiveSynchronously
  101. {
  102. get { return this.ExactlyOnce; }
  103. }
  104. }
  105. }