File: System\ServiceModel\MsmqBindingBase.cs
Project: ndp\cdf\src\WCF\ServiceModel\System.ServiceModel.csproj (System.ServiceModel)
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------
namespace System.ServiceModel
{
    using System;
    using System.ComponentModel;
    using System.ServiceModel.Channels;
    using System.Net.Security;
 
    public abstract class MsmqBindingBase : Binding, IBindingRuntimePreferences
    {
        internal MsmqBindingElementBase transport;
 
        protected MsmqBindingBase()
        { }
 
        [DefaultValue(typeof(System.TimeSpan), MsmqDefaults.ValidityDurationString)]
        public TimeSpan ValidityDuration
        {
            get { return transport.ValidityDuration; }
            set { transport.ValidityDuration = value; }
        }
 
        [DefaultValue(MsmqDefaults.CustomDeadLetterQueue)]
        public Uri CustomDeadLetterQueue
        {
            get { return transport.CustomDeadLetterQueue; }
            set { transport.CustomDeadLetterQueue = value; }
        }
 
        [DefaultValue(MsmqDefaults.DeadLetterQueue)]
        public DeadLetterQueue DeadLetterQueue
        {
            get { return transport.DeadLetterQueue; }
            set { transport.DeadLetterQueue = value; }
        }
 
        [DefaultValue(MsmqDefaults.Durable)]
        public bool Durable
        {
            get { return transport.Durable; }
            set { transport.Durable = value; }
        }
 
        [DefaultValue(MsmqDefaults.ExactlyOnce)]
        public bool ExactlyOnce
        {
            get { return transport.ExactlyOnce; }
            set { transport.ExactlyOnce = value; }
        }
 
        [DefaultValue(TransportDefaults.MaxReceivedMessageSize)]
        public long MaxReceivedMessageSize
        {
            get { return transport.MaxReceivedMessageSize; }
            set { transport.MaxReceivedMessageSize = value; }
        }
 
        [DefaultValue(MsmqDefaults.ReceiveRetryCount)]
        public int ReceiveRetryCount
        {
            get { return transport.ReceiveRetryCount; }
            set { transport.ReceiveRetryCount = value; }
        }
 
        [DefaultValue(MsmqDefaults.MaxRetryCycles)]
        public int MaxRetryCycles
        {
            get { return transport.MaxRetryCycles; }
            set { transport.MaxRetryCycles = value; }
        }
 
        [DefaultValue(MsmqDefaults.ReceiveContextEnabled)]
        public bool ReceiveContextEnabled
        {
            get { return transport.ReceiveContextEnabled; }
            set { transport.ReceiveContextEnabled = value; }
        }
 
        [DefaultValue(MsmqDefaults.ReceiveErrorHandling)]
        public ReceiveErrorHandling ReceiveErrorHandling
        {
            get { return transport.ReceiveErrorHandling; }
            set { transport.ReceiveErrorHandling = value; }
        }
 
        [DefaultValue(typeof(System.TimeSpan), MsmqDefaults.RetryCycleDelayString)]
        public TimeSpan RetryCycleDelay
        {
            get { return transport.RetryCycleDelay; }
            set { transport.RetryCycleDelay = value; }
        }
 
        public override string Scheme { get { return transport.Scheme; } }
 
        [DefaultValue(typeof(System.TimeSpan), MsmqDefaults.TimeToLiveString)]
        public TimeSpan TimeToLive
        {
            get { return transport.TimeToLive; }
            set { transport.TimeToLive = value; }
        }
 
        [DefaultValue(MsmqDefaults.UseSourceJournal)]
        public bool UseSourceJournal
        {
            get { return transport.UseSourceJournal; }
            set { transport.UseSourceJournal = value; }
        }
 
        [DefaultValue(MsmqDefaults.UseMsmqTracing)]
        public bool UseMsmqTracing
        {
            get { return transport.UseMsmqTracing; }
            set { transport.UseMsmqTracing = value; }
        }
 
        bool IBindingRuntimePreferences.ReceiveSynchronously
        {
            get { return this.ExactlyOnce; }
        }
    }
}