コード例 #1
0
 protected MsmqHostedTransportConfiguration(MsmqUri.IAddressTranslator addressing) : base(addressing.Scheme)
 {
     string[] bindings = HostedTransportConfigurationManager.MetabaseSettings.GetBindings(addressing.Scheme);
     this.uniqueManager = new MsmqHostedTransportManager(bindings, addressing);
     for (int i = 0; i < bindings.Length; i++)
     {
         Uri baseAddress = addressing.CreateUri(bindings[i], HostingEnvironment.ApplicationVirtualPath, false);
         base.ListenAddresses.Add(new BaseUriWithWildcard(baseAddress, HostNameComparisonMode.Exact));
         UniqueTransportManagerRegistration item = new UniqueTransportManagerRegistration(this.uniqueManager, baseAddress, HostNameComparisonMode.Exact);
         Msmq.StaticTransportManagerTable.RegisterUri(baseAddress, HostNameComparisonMode.Exact, item);
     }
     this.uniqueManager.Start(null);
 }
 public MsmqBindingFilter(string path, MsmqUri.IAddressTranslator addressing)
 {
     this.prefix = path;
     this.addressing = addressing;
     if ((this.prefix.Length > 0) && (this.prefix[0] == '/'))
     {
         this.prefix = this.prefix.Substring(1);
     }
     if ((this.prefix.Length > 0) && (this.prefix[this.prefix.Length - 1] != '/'))
     {
         this.prefix = this.prefix + '/';
     }
 }
コード例 #3
0
 public MsmqBindingFilter(string path, MsmqUri.IAddressTranslator addressing)
 {
     this.prefix     = path;
     this.addressing = addressing;
     if ((this.prefix.Length > 0) && (this.prefix[0] == '/'))
     {
         this.prefix = this.prefix.Substring(1);
     }
     if ((this.prefix.Length > 0) && (this.prefix[this.prefix.Length - 1] != '/'))
     {
         this.prefix = this.prefix + '/';
     }
 }
コード例 #4
0
 internal MsmqReceiveParameters(MsmqBindingElementBase bindingElement, MsmqUri.IAddressTranslator addressTranslator)
 {
     this.addressTranslator = addressTranslator;
     this.durable = bindingElement.Durable;
     this.exactlyOnce = bindingElement.ExactlyOnce;
     this.maxRetryCycles = bindingElement.MaxRetryCycles;
     this.receiveErrorHandling = bindingElement.ReceiveErrorHandling;
     this.receiveRetryCount = bindingElement.ReceiveRetryCount;
     this.retryCycleDelay = bindingElement.RetryCycleDelay;
     this.transportSecurity = new MsmqTransportSecurity(bindingElement.MsmqTransportSecurity);
     this.useMsmqTracing = bindingElement.UseMsmqTracing;
     this.useSourceJournal = bindingElement.UseSourceJournal;
     this.receiveContextSettings = new MsmqReceiveContextSettings(bindingElement.ReceiveContextSettings);
 }
コード例 #5
0
 internal MsmqReceiveParameters(MsmqBindingElementBase bindingElement, MsmqUri.IAddressTranslator addressTranslator)
 {
     this.addressTranslator      = addressTranslator;
     this.durable                = bindingElement.Durable;
     this.exactlyOnce            = bindingElement.ExactlyOnce;
     this.maxRetryCycles         = bindingElement.MaxRetryCycles;
     this.receiveErrorHandling   = bindingElement.ReceiveErrorHandling;
     this.receiveRetryCount      = bindingElement.ReceiveRetryCount;
     this.retryCycleDelay        = bindingElement.RetryCycleDelay;
     this.transportSecurity      = new MsmqTransportSecurity(bindingElement.MsmqTransportSecurity);
     this.useMsmqTracing         = bindingElement.UseMsmqTracing;
     this.useSourceJournal       = bindingElement.UseSourceJournal;
     this.receiveContextSettings = new MsmqReceiveContextSettings(bindingElement.ReceiveContextSettings);
 }
コード例 #6
0
        public MsmqBindingFilter(string path, MsmqUri.IAddressTranslator addressing)
        {
            this.prefix = path;
            this.addressing = addressing;

            // Construct the canonical prefix.  It's the
            // app name with no slashes at beginning or end:
            if (this.prefix.Length > 0 && this.prefix[0] == '/')
            {
                this.prefix = this.prefix.Substring(1);
            }
            if (this.prefix.Length > 0 && this.prefix[this.prefix.Length - 1] != '/')
            {
                this.prefix = this.prefix + '/';
            }
        }
コード例 #7
0
        public MsmqBindingFilter(string path, MsmqUri.IAddressTranslator addressing)
        {
            this.prefix     = path;
            this.addressing = addressing;

            // Construct the canonical prefix.  It's the
            // app name with no slashes at beginning or end:
            if (this.prefix.Length > 0 && this.prefix[0] == '/')
            {
                this.prefix = this.prefix.Substring(1);
            }
            if (this.prefix.Length > 0 && this.prefix[this.prefix.Length - 1] != '/')
            {
                this.prefix = this.prefix + '/';
            }
        }
コード例 #8
0
        public MsmqHostedTransportManager(string[] hosts, MsmqUri.IAddressTranslator addressing)
        {
            AspNetPartialTrustHelpers.FailIfInPartialTrustOutsideAspNet();

            this.hosts           = hosts;
            this.bindingMonitors = new List <MsmqBindingMonitor>();
            this.addressing      = addressing;
            this.filter          = new HostedBindingFilter(HostingEnvironment.ApplicationVirtualPath, addressing);

            foreach (string host in this.hosts)
            {
                MsmqBindingMonitor monitor = new MsmqBindingMonitor(host, TimeSpan.FromMinutes(5), true);
                monitor.AddFilter(this.filter);
                monitor.Open();
                this.bindingMonitors.Add(monitor);
            }
        }
コード例 #9
0
        public MsmqHostedTransportManager(string[] hosts, MsmqUri.IAddressTranslator addressing)
        {
            AspNetPartialTrustHelpers.FailIfInPartialTrustOutsideAspNet();

            this.hosts = hosts;
            this.bindingMonitors = new List<MsmqBindingMonitor>();
            this.addressing = addressing;
            this.filter = new HostedBindingFilter(HostingEnvironment.ApplicationVirtualPath, addressing);

            foreach (string host in this.hosts)
            {
                MsmqBindingMonitor monitor = new MsmqBindingMonitor(host, TimeSpan.FromMinutes(5), true);
                monitor.AddFilter(this.filter);
                monitor.Open();
                this.bindingMonitors.Add(monitor);
            }
        }
コード例 #10
0
 public MsmqHostedTransportManager(string[] hosts, MsmqUri.IAddressTranslator addressing)
 {
     this.hosts           = hosts;
     this.bindingMonitors = new List <MsmqBindingMonitor>();
     this.addressing      = addressing;
     this.filter          = new HostedBindingFilter(HostingEnvironment.ApplicationVirtualPath, addressing);
     foreach (string str in this.hosts)
     {
         MsmqBindingMonitor item = new MsmqBindingMonitor(str);
         item.AddFilter(this.filter);
         this.bindingMonitors.Add(item);
     }
     foreach (MsmqBindingMonitor monitor2 in this.bindingMonitors)
     {
         monitor2.Open();
     }
 }
        protected MsmqHostedTransportConfiguration(MsmqUri.IAddressTranslator addressing)
            : base(addressing.Scheme)
        {
            AspNetPartialTrustHelpers.FailIfInPartialTrustOutsideAspNet();

            string[] bindings = HostedTransportConfigurationManager.MetabaseSettings.GetBindings(addressing.Scheme);

            this.uniqueManager = new MsmqHostedTransportManager(bindings, addressing);

            for (int i = 0; i < bindings.Length; i++)
            {
                Uri address = addressing.CreateUri(bindings[i], HostingEnvironment.ApplicationVirtualPath, false);
                this.ListenAddresses.Add(new BaseUriWithWildcard(address, TransportDefaults.HostNameComparisonMode));

                UniqueTransportManagerRegistration registration = new UniqueTransportManagerRegistration(uniqueManager, address, TransportDefaults.HostNameComparisonMode);
                Msmq.StaticTransportManagerTable.RegisterUri(address, TransportDefaults.HostNameComparisonMode, registration);
            }

            this.uniqueManager.Start(null);
        }
コード例 #12
0
 protected MsmqChannelFactoryBase(MsmqBindingElementBase bindingElement, BindingContext context, MessageEncoderFactory encoderFactory) : base(bindingElement, context)
 {
     this.exactlyOnce           = true;
     this.addressTranslator     = bindingElement.AddressTranslator;
     this.customDeadLetterQueue = bindingElement.CustomDeadLetterQueue;
     this.durable               = bindingElement.Durable;
     this.deadLetterQueue       = bindingElement.DeadLetterQueue;
     this.exactlyOnce           = bindingElement.ExactlyOnce;
     this.msmqTransportSecurity = new System.ServiceModel.MsmqTransportSecurity(bindingElement.MsmqTransportSecurity);
     this.timeToLive            = bindingElement.TimeToLive;
     this.useMsmqTracing        = bindingElement.UseMsmqTracing;
     this.useSourceJournal      = bindingElement.UseSourceJournal;
     if (this.MsmqTransportSecurity.MsmqAuthenticationMode == MsmqAuthenticationMode.Certificate)
     {
         this.InitializeSecurityTokenManager(context);
     }
     if (null != this.customDeadLetterQueue)
     {
         this.deadLetterQueuePathName = MsmqUri.DeadLetterQueueAddressTranslator.UriToFormatName(this.customDeadLetterQueue);
     }
 }
コード例 #13
0
 internal MsmqTransportReceiveParameters(MsmqTransportBindingElement bindingElement, MsmqUri.IAddressTranslator addressTranslator) : base(bindingElement, addressTranslator)
 {
     this.maxPoolSize           = bindingElement.MaxPoolSize;
     this.useActiveDirectory    = bindingElement.UseActiveDirectory;
     this.queueTransferProtocol = bindingElement.QueueTransferProtocol;
 }
コード例 #14
0
 public HostedBindingFilter(string path, MsmqUri.IAddressTranslator addressing)
     : base(path, addressing)
 {
     AspNetPartialTrustHelpers.FailIfInPartialTrustOutsideAspNet();
 }
コード例 #15
0
 public HostedBindingFilter(string path, MsmqUri.IAddressTranslator addressing) : base(path, addressing)
 {
     this.privateMatches = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);
 }