У меня есть несколько вопросов о http listener.Прежде всего, стоит ли запускать прослушиватель http внутри асинхронной задачи backgroundWorker?Или я должен использовать поток или задачу?
private void Main_Load(object sender, EventArgs e)
{
backgroundWorker.RunWorkerAsync();
}
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
listener = new HttpListener();
listener.Prefixes.Add("http://localhost:8000/");
listener.Prefixes.Add("http://127.0.0.1:8000/");
listener.AuthenticationSchemes = AuthenticationSchemes.Anonymous;
listener.Start();
while (true)
{
var result = listener.BeginGetContext(new AsyncCallback(ListenerCallback), listener);
result.AsyncWaitHandle.WaitOne();
}
}
private void ListenerCallback(IAsyncResult result)
{
var context = listener.EndGetContext(result);
}
Второй вопрос - это мой правильный пример, для одновременного принятия нескольких клиентских запросов?