internal bool TryGetPollServiceHTTPHandler (string handlerKey, out PollServiceEventArgs oServiceEventArgs)
{
string bestMatch = null;
lock (m_pollHandlers)
{
if (m_pollHandlers.TryGetValue (handlerKey, out oServiceEventArgs))
return true;
foreach (string pattern in m_pollHandlers.Keys) {
if (handlerKey.StartsWith (pattern, StringComparison.Ordinal))
{
if (string.IsNullOrEmpty (bestMatch) || pattern.Length > bestMatch.Length)
{
bestMatch = pattern;
}
}
}
if (string.IsNullOrEmpty (bestMatch))
{
oServiceEventArgs = null;
return false;
}
oServiceEventArgs = m_pollHandlers [bestMatch];
return true;
}
}