метод выделяет из URL идентификатор
public static class Utils
{
// метод выделяет из URL идентификатор объекта и трубы
public static string ParseUrl(string url, string channelName,
out string objectUri)
{
objectUri = null;
Regex re = new Regex(@"^" + channelName + @"\:\/\/(.+)$");
Match m = re.Match(url);
if (!m.Success) return null;
string sinkUri = m.Groups[1].Value;
Utils.ParseUrl(url, out objectUri);
return sinkUri;
}
// метод выделяет из URL идентификатор объекта и путь к очереди MSMQ
public static string ParseUrl(string url, out string objectUri)
{
string queuePath = null;
objectUri = null;
Regex r = new Regex(@"^(.*)(\\|\/)(.+)$");
Match m = r.Match(url);
if (m.Success)
{
objectUri = m.Groups[3].Value;
queuePath = m.Groups[1].Value;
}
else
{
throw new Exception("Не найден идентификатор объекта в " + url);
}
return queuePath;
}
} // Seva.Remoting.MsmqChannel.Utils
} // Seva.Remoting.MsmqChannel
// Файл SevaRemotingMsmq.cs
public static class Utils { // метод выделяет из URL идентификатор объекта и трубы public static string ParseUrl(string url, string channelName, out string objectUri) { objectUri = null;
Regex re = new Regex(@"^" + channelName + @"\:\/\/(.+)$"); Match m = re.Match(url); if (!m.Success) return null;
string sinkUri = m.Groups[1].Value; Utils.ParseUrl(url, out objectUri); return sinkUri; }
// метод выделяет из URL идентификатор объекта и путь к очереди MSMQ public static string ParseUrl(string url, out string objectUri) { string queuePath = null; objectUri = null;
Regex r = new Regex(@"^(.*)(\\|\/)(.+)$"); Match m = r.Match(url);
if (m.Success) { objectUri = m.Groups[3].Value; queuePath = m.Groups[1].Value; } else { throw new Exception("Не найден идентификатор объекта в " + url); } return queuePath; } } // Seva.Remoting.MsmqChannel.Utils } // Seva.Remoting.MsmqChannel // Файл SevaRemotingMsmq.cs |
Листинг 8.6. |
Закрыть окно
|
Содержание раздела