首页 新闻 会员 周边 捐助

asp.net ashx IhttpHandler 生命周期

0
悬赏园豆:5 [已解决问题] 解决于 2021-03-13 11:48

这个访问一般处理程序,它实现了IHttpHandler接口,那这个一般处理对象,是每次请求时都创建这么一个一般处理对象嘛,请求结束了,比如某个ajax请求得了了相应,之后就释放掉这个一般处理对象。

还是说,第一次访问时,创建这个对象,这个对象一直存在到iis关闭这个网站才释放。

还是说,随着iis启动就创建了这么个对象,iis关闭网站,释放对象。

像一般的asp.net页面,我猜是,打开这个页面创建这个对象,关闭这个页面,释放这个对象。

我感觉应该是一次请求就创建一个这个一般处理对象吧,因为,一个网站肯定不止一个人访问,如果iis里面只有一个这个对象,那要供那么多人使用能行嘛?

HelloLLLLL的主页 HelloLLLLL | 菜鸟二级 | 园豆:437
提问于:2021-03-03 22:31
< >
分享
最佳答案
1

IHttpHandler.IsReusable : 实例可再次使用,则为 true;否则为 false。
MSDN:IHttpHandler.IsReusable

可以看一下篇 文章

收获园豆:3
jzblive | 菜鸟二级 |园豆:428 | 2021-03-04 10:29
其他回答(2)
1

一个对象 多个人同时使用 那就是静态类的概念了, 对象我理解是大家自己使用自己的。

收获园豆:1
Tom.汤 | 园豆:3058 (老鸟四级) | 2021-03-04 08:10
1

每次都创建新得对象,随着请求结束会释放。
IHttpHandler要保证隔离性。你可以想象下如果是 单例模式,2个请求进来,1个请求变更了IHttpHandler内部的私有属性值,会导致另外一个请求的行为发生变更。

收获园豆:1
gt1987 | 园豆:1150 (小虾三级) | 2021-03-11 10:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册