Разработка распределенных приложений в Microsoft.NET Framework




Пример 6


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




Содержание  Назад  Вперед