在你的服务器端代码中使用线程和创建异步处理(结束)
2004-06-10 16:58
411 查看
用定制线程异步处理者
为了创建一个真正的异步处理者, 你必须在BeginProcessRequest响应中手工生成额外的线程.成功创建异步处理者有3个重要的特征. 一 构造一个支持IAsyncResult的类从BeginProcessRequest 返回. 二, 生成个线程执行你的请求异步处理. 三, 通知asp.net 你已经结束了处理请求并且准备返回响应
我会通过构造一个支持IAsyncResult类来构建异步处理者. 该类将从调用BeginProcessRequest返回, 接着我将实现EndProcessRequest, 在另外的事情中,保存一个指定请求的状态是有用的,我需要用此处理请求. 为了完成IAsyncResult接口,实现如下:
public interface IAsyncResult
{
public object AsyncState { get; }
public bool CompletedSynchronously { get; }
public bool IsCompleted { get; }
public WaitHandle AsyncWaitHandle { get; }
}
其它的实现请见代码
关于流程图,见以下两图:
为了创建一个真正的异步处理者, 你必须在BeginProcessRequest响应中手工生成额外的线程.成功创建异步处理者有3个重要的特征. 一 构造一个支持IAsyncResult的类从BeginProcessRequest 返回. 二, 生成个线程执行你的请求异步处理. 三, 通知asp.net 你已经结束了处理请求并且准备返回响应
我会通过构造一个支持IAsyncResult类来构建异步处理者. 该类将从调用BeginProcessRequest返回, 接着我将实现EndProcessRequest, 在另外的事情中,保存一个指定请求的状态是有用的,我需要用此处理请求. 为了完成IAsyncResult接口,实现如下:
public interface IAsyncResult
{
public object AsyncState { get; }
public bool CompletedSynchronously { get; }
public bool IsCompleted { get; }
public WaitHandle AsyncWaitHandle { get; }
}
其它的实现请见代码
关于流程图,见以下两图:
相关文章推荐
- 在你的服务器端代码中使用线程和创建异步处理(结束)
- 在你的服务器端代码中使用线程和创建异步处理
- 在你的服务器端代码中使用线程和创建异步处理(2)
- 在你的服务器端代码中使用线程和创建异步处理(4)
- 在你的服务器端代码中使用线程和创建异步处理(4)
- 在你的服务器端代码中使用线程和创建异步处理(3)
- 在服务器端 Web 代码中使用线程和生成异步处理程序
- 在你的服务器端代码中使用线程和创建异步处理
- TCP并发服务器(六)——创建线程池,每个线程accept,accept使用互斥锁保护——基于UNP代码
- [代码]创建,挂起,恢复,结束线程的demo
- 线程创建, 使用, 释放代码
- 使用BackGroundWorker在多线程中访问Winform控件,当不是创建这个控件的线程访问控件时,把线程调整到是创建这个控件的线程去控制。,代码为红色的
- Java创建与结束线程代码示例
- 代码中使用DataView对象----创建DataView对象
- 使用线程创建form
- C# 2.0:使用匿名方法、迭代程序和局部类来创建优雅的代码
- [翻译]使用少于500行的代码创建一个webserver
- 使用反射技术动态创建类对象(实例代码)
- 用Java线程获取优异性能(II)——使用同步连载线程访问关键代码部份
- 用Java线程获取优异性能(II)——使用同步连载线程访问关键代码部份