// Тут запускаем прослушку
Task.Factrory.StartNew(()=>{
// Тут уже обрабатываем запросы
while (true)
try
{
HttpListenerContext request = listener.GetContext();
ThreadPool.QueueUserWorkItem(ProcessRequest, request);
}
catch (HttpListenerException) { break; }
catch (InvalidOperationException) { break; } });