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 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()); }