Как использовать IHTTPAsyncHandler?

Представьте, что у меня есть код для чтения от начала до конца файла, например:

while(sw.readline != null)
{

}

Я хочу, чтобы это было полностью асинхронным. Когда происходит от IHTTPAsyncHandler, куда будет идти этот код и куда будет идти код для получения содержимого каждой строки?

1 ответ

Решение

Недавно я добавил несколько асинхронных процессов на свои страницы ASP.NET, чтобы позволить некоторым длительным процессам происходить, пока пользователь ожидает результатов. Я нашел IHTTPAsyncHandler довольно неадекватным. Все, что он делает, это позволяет вам раскрутить новую ветку, пока страница начинает обрабатываться. Вам все еще нужно создать свой собственный поток и создать AsyncRequestResult.

Вместо этого я просто использовал нормальный поток в моем коде, гораздо более краткий:

using System;
using System.Web;
using System.Threading;

namespace Temp {
    public partial class thread : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {
            Thread thread = new Thread(new ThreadStart(myAsyncProcess));
            thread.Start();
        }

        private void myAsyncProcess() {
            // Long running process
        }
    }
}
Другие вопросы по тегам