博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转载]Asp.net的HttpContext.Current.Items详解
阅读量:6848 次
发布时间:2019-06-26

本文共 789 字,大约阅读时间需要 2 分钟。

之前asp.net只是在使用Session来进行用户会话时的信息存储,甚至很少留意Session完整的类调用是HttpContext.Current.Sessoin....

好吧,我还是处于只会固定写法的超级小菜....

之前偶然看到bbsmax的代码中使用HttpContext.Current.Items来存储当前用户ID,之前便模仿着写着身份验证,于是乎今天遇到问题,需要彻底了解一下这个HttpContext.Current.Items首先,HttpContext.Current.Items的用途受到严重限制,它只作用于单独的一个用户请求(HttpContext.Current.Items valid for a single HTTPRequest)。完成这个请求,服务器信息传回浏览器的时候,这个Item集合将丢失。而Session对象是针对用户的本次会话,也就是作用于多个用户请求,在Session失效后才丢失其中的信息。既然HttpContext.Current.Items的生命周期如此之短,那在什么情况下可以加以利用呢。

这里指出,HttpContext.Current.Items 可以在 HttpModule 和 HTTPHandler 之间共享数据时使用,因为每次用户请求都要通过HTTP 运行时管道HttpModule 、HTTPHandler 。当你实现IHttpMoudle的方法来通过HttpMoudle向用户请求传递信息。如下图所示:

你可以用HttpContext.Current.Items 在不同请求页,不同的HttpModule中传输数据,但是一旦请求结束,数据回发,这个集合中的数据将自己丢失。

转载于:https://www.cnblogs.com/fx2008/archive/2011/12/29/2306039.html

你可能感兴趣的文章
爬取大半导体网新闻内容保存到word(基于python3.6)
查看>>
2019年1月4日
查看>>
【阅读笔记】Prostate Cancer Diagnosis using Deep Learning with 3D Multiparametric MRI
查看>>
解读《德勤2017年全球CIO报告》:顶级CIO的炼成之道
查看>>
A Tour of Go Nil slices
查看>>
第29条:理解引用计数
查看>>
boost asio中io_service类的几种使用
查看>>
[Java]HashMap的两种排序方式
查看>>
slice、splice、concat操作后数组的变化
查看>>
DEDE栏目内容调用
查看>>
icheck.js的一个简单demo
查看>>
mysql语句记录
查看>>
消息中间件rabbitmq(3)
查看>>
CSS :hover伪类选择定义和用法
查看>>
php文件删除unlink()详解
查看>>
(Access denied for user 'root'@'localhost' (using password: NO))
查看>>
设计模式
查看>>
Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析
查看>>
Linux系统中安装软件的几种方式
查看>>
LeetCode-Guess Number Higher or Lower
查看>>