硬件学院 | 网络学院 | 游戏秘籍 | 求职技巧 | 企业管理 | 软件资讯 | IT导购 | 软件下载 | 源码下载
软件学院 | 安全资讯 | 图形图象 | 网络营销 | 电子商务 | 硬件资讯 | IT生活 | 教程下载 | 电影娱乐
网站首页    个人求职    单位招聘    高校联盟    猎头服务    培训服务    资讯中心    IT论坛
让每一个热爱IT的人都找到一份满意的工作!
文章搜索:
 您的位置首页->-> 软件学院-> .NET技术-> 在你的服务器端代码中使用线程和创建异步处理(2)
在你的服务器端代码中使用线程和创建异步处理(2)
作者:中国资讯网 来源:zixuen.com 加入时间:2005-5-12 www.cnitrc.com
线程处理对于IIS5和IIS6是不同的是不同的,我会简短地讨论一下这个问题。对于来的每一个请求,一个新的实例就会被创建,为了避免过于频繁的分配应用和模块,每一个应用域维护了应用和模块的池。每个应用池的最大值是和线程池的大小一致的,因此默认上来说,上限为25个工作进程可以被并发处理,每一个有自己的应用和模块集合。图1显示了asp.net 工作进程的一个快照。 这中情景下,有两个激活的应用在工作进程中,每个应用独立于自己的应用域中。每一个应用目前处理两个请求,并且每一个使用了两个来自于CLR 池的线程来响应这些请求。



图1 线程和池

这种结构的几个特征可能会影响你构建asp.net应用。首先,应用和模块多次被创建实例意味着你永远不要依赖字段或其它状态,以为它们不能在跨越多个请求中被共享,正如你可以想到的那样。作为替代,可以使用状态库一个状态,例如,使用程序范围的cache, session状态,应用状态,或者每一个请求的集合( 来自HttpCntext)。另外在恰当同步的情况下你也可以使用静态数据 。

默认上来说,大部分用来响应请求的处理者是不使用池的。你可以使用池处理者,甚至控制池每一个基于IsResusable of IHttpHandler 的处理者,但是只有被隐式地做池的处理者才能作为客户化处理者(自己写的没有指定的处理工厂)。PageHandlerFactory 没有实现池,SimpleHandlerFactory 也是如此,它的实例是以 .ashx-defined 的处理者。典型的来说,每一个请求就会分配一个新的恰当的处理者对象,请求结束后,该处理者对象就会完全被丢弃。



  相关文章:
.NET技术
ASP技术
PHP技术
JSP技术
.NET技术
服务器技术
数据库技术
其它类
工具软件
办公软件
本类阅读TOP10
 
关于我们   |   服务声明   |   使用帮助   |   广告合作   |   网站地图   |   友情链接   |   加盟合作   |   联系我们
Copyright © 2006 cnitrc.com Inc. All Rights Reserved. 浙ICP备05074295号
中国IT人才网 版权所有 网络实名:中国IT人才
未经书面授权严禁转载和复制本站的任何招聘信息和文章