public string UriToFormatName(Uri uri) { if (null == uri) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("uri")); } if (uri.Scheme != this.Scheme) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.MsmqInvalidScheme), "uri")); } if (String.IsNullOrEmpty(uri.Host)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.MsmqWrongUri)); } StringBuilder builder = new StringBuilder(); builder.Append("DIRECT="); builder.Append(this.DirectScheme); builder.Append(uri.Host); if (-1 != uri.Port) { builder.Append(":"); builder.Append(uri.Port.ToString(CultureInfo.InvariantCulture)); } string relativePath = Uri.UnescapeDataString(uri.PathAndQuery); builder.Append(msmqPart); MsmqUri.AppendQueueName(builder, relativePath, "/"); return(builder.ToString()); }
public virtual string UriToFormatName(Uri uri) { if (null == uri) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("uri")); } if (uri.Scheme != this.Scheme) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(System.ServiceModel.SR.GetString("MsmqInvalidScheme"), "uri")); } if (string.IsNullOrEmpty(uri.Host)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(System.ServiceModel.SR.GetString("MsmqWrongUri")); } if (-1 != uri.Port) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(System.ServiceModel.SR.GetString("MsmqUnexpectedPort")); } uri = this.PostVerify(uri); StringBuilder builder = new StringBuilder(); if (string.Compare(uri.Host, "localhost", StringComparison.OrdinalIgnoreCase) == 0) { builder.Append("."); } else { builder.Append(uri.Host); } builder.Append(@"\"); MsmqUri.AppendQueueName(builder, Uri.UnescapeDataString(uri.PathAndQuery), @"\"); return(builder.ToString()); }
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 + '/'; } }
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); }
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); }
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); } }
public string UriToFormatName(Uri uri) { if (null == uri) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("uri")); } if (uri.Scheme != this.Scheme) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.MsmqInvalidScheme), "uri")); } if (String.IsNullOrEmpty(uri.Host)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.MsmqWrongUri)); } if (-1 != uri.Port) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.MsmqUnexpectedPort)); } StringBuilder builder = new StringBuilder(); builder.Append("DIRECT="); if (0 == String.Compare(uri.Host, "localhost", StringComparison.OrdinalIgnoreCase)) { builder.Append("OS:."); } else { IPAddress address = null; if (IPAddress.TryParse(uri.Host, out address)) { builder.Append("TCP:"); } else { builder.Append("OS:"); } builder.Append(uri.Host); } builder.Append("\\"); MsmqUri.AppendQueueName(builder, Uri.UnescapeDataString(uri.PathAndQuery), "\\"); return(builder.ToString()); }
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); }
public HostedBindingFilter(string path, MsmqUri.IAddressTranslator addressing) : base(path, addressing) { AspNetPartialTrustHelpers.FailIfInPartialTrustOutsideAspNet(); }
internal MsmqTransportReceiveParameters(MsmqTransportBindingElement bindingElement, MsmqUri.IAddressTranslator addressTranslator) : base(bindingElement, addressTranslator) { this.maxPoolSize = bindingElement.MaxPoolSize; this.useActiveDirectory = bindingElement.UseActiveDirectory; this.queueTransferProtocol = bindingElement.QueueTransferProtocol; }