Bud*_*dda 8 asp.net parallel-processing msdn
让我们在网站上有2页成像:快速和慢速.慢速页面请求执行1分钟,请求快速5秒.
整个我的开发生涯我认为如果第一次启动请求很慢:他将对DB进行(同步)调用...等待回答...如果在此期间请求快速页面将完成,此请求将被处理系统正在等待DB的响应.
但今天我发现:http: //msdn.microsoft.com/en-us/library/system.web.httpapplication.aspx
HttpApplication类的一个实例用于在其生命周期中处理许多请求.但是,它一次只能处理一个请求.因此,成员变量可用于存储每个请求数据.
这是否意味着我原来的想法是错的?
你能澄清一下他们的意思吗?我很确定这件事是我所期待的......
如果两个请求都使用具有读/写访问权限的相同会话状态,则必须在服务器端按顺序处理请求,因为asp.net会话锁定.
您可以在此处找到更多信息:http: //msdn.microsoft.com/en-us/library/ie/ms178581.aspx
并发请求和会话状态
对会话状态的访问是每个会话独占的,这意味着如果两个不同的用户发出并发请求,则同时授予对每个单独会话的访问权限.但是,如果对同一会话发出两个并发请求(通过使用相同的SessionID值),则第一个请求将获得对会话信息的独占访问权.第二个请求仅在第一个请求完成后执行.(如果由于第一个请求超过锁定超时而释放信息的独占锁定,则第二个会话也可以访问.)如果@ Page指令中的EnableSessionState值设置为ReadOnly,则只读请求会话信息不会导致会话数据的独占锁定.但是,会话数据的只读请求可能仍然必须等待由会话数据的读写请求设置的锁定才能清除.
你原来的想法是对的,文档也是对的。IIS 工作进程可以生成许多线程,每个线程都有自己的类实例HttpApplication
。
归档时间: |
|
查看次数: |
6084 次 |
最近记录: |