如何使用IHTTPAsyncHandler?

时间:2009-01-09 21:50:39

标签: asp.net ihttpasynchandler

想象一下,我有一些代码可以从文件的开头到结尾读取:

while(sw.readline != null)
{

}

我希望这是完全异步的。从IHTTPAsyncHandler派生时,此代码将去哪里以及获取每行内容的代码将去哪里?

1 个答案:

答案 0 :(得分:-2)

我最近在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
        }
    }
}