`
star65225692
  • 浏览: 277413 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

Asp.net的HttpContext.Current.Items详解

 
阅读更多

之前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的生命周期如此之短,那在什么情况下 可以加以利用呢。winform的checkedlistbox使用指南

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

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

 

分享到:
评论

相关推荐

    【ASP.NET编程知识】在ASP.NET Core5.0中访问HttpContext的方法步骤.docx

    ASP.NET Core 5.0 中访问 HttpContext 的方法步骤 在 ASP.NET Core 5.0 中,访问 HttpContext 的方法步骤是通过 IHttpContextAccessor 接口及其默认实现 HttpContextAccessor 来实现的。只有在需要访问服务内的 ...

    异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache…等失效的问题)

    回答的也多数都是:引用System.Web,不要用HttpContext.Current.Application应该用System.Web.HttpContext.Current.Application,后来在网上看到一篇关于System.Runtime.Remoting.Messaging.CallContext这个类的详细...

    【ASP.NET编程知识】ASP.NET Core读取Request.Body的正确方法.docx

    ASP.NET Core 读取 Request.Body 的正确方法 ASP.NET Core 读取 Request.Body 的正确方法是 ASP.NET Core 开发中一个常见的问题。许多开发者在读取 Request.Body 时都会遇到一些问题,本文将详细介绍读取 Request....

    在ASP.NET Core5.0中访问HttpContext的方法步骤

    ASP.NET Core 应用通过 IHttpContextAccessor 接口及其默认实现 HttpContextAccessor 访问 HttpContext。 只有在需要访问服务内的 HttpContext 时,才有必要使用 IHttpContextAccessor。 通过 Razor Pages 使用 ...

    异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)

    在ASP.NET开发中,`HttpContext.Current` 是一个非常重要的对象,它提供了对当前HTTP请求的各种信息的访问,包括Application、Session、Cache等。然而,在异步编程中,由于线程切换的原因,`HttpContext.Current` ...

    AspNetCoreCurrentRequestContext:在ASP.NET Core应用程序上启用HttpContext.Current

    启用在ASP.NET Core应用程序上使用HttpContext.Current。 安装 从NuGet- PM > Install-Package AspNetCoreCurrentRequestContext 如何使用 首先,您必须在Startup类中的Configure方法IApplicationBuilder ...

    【ASP.NET编程知识】iframe跨域与session失效问题的解决办法.docx

    在 ASP.NET 开发中,跨域和 Session 失效问题是一个常见的问题,但通过添加“P3P”协议和使用 HttpContext.Current.Session,我们可以解决这个问题,从而确保应用程序的正常运行。 相关知识点: * 跨域和 Session ...

    ASP.NET原理.doc

    ASP.NET原理概述 ASP.NET是Microsoft开发的一种用于构建动态网站、Web应用程序和Web服务的框架。它基于.NET Framework,提供了一种高效的、易于使用的开发环境,允许开发者通过拖放控件、设置属性和编写后端代码来...

    Asp.net文件夹及文件的处理

    ### ASP.NET 文件夹及文件处理知识点详解 #### 一、创建与删除文件夹 在ASP.NET开发中,经常需要对服务器上的文件或文件夹进行操作。以下代码展示了如何检查一个文件夹是否存在,并根据检查结果创建或删除文件夹。...

    C#获取当前页面的url

    在C#中,可以通过ASP.NET提供的`HttpContext.Current`对象来访问当前请求的信息。`HttpContext.Current.Request`包含了有关HTTP请求的所有信息,其中包括URL。 下面是一些常用属性及其返回值的示例: - **Request....

    ASP.NET loading,动画进度条

    HttpContext.Current.Response.Write("<script language=JavaScript type=text/javascript>"); // 初始化定时器 HttpContext.Current.Response.Write("var t_id = setInterval(animate, 20);"); // 设置初始变量...

    在控制器外部对HttpContext.Current进行单元测试

    由于`HttpContext.Current`在非ASP.NET环境中通常不可用,因此在控制器外部对其进行单元测试会带来挑战。本文将深入探讨如何有效地解决这一问题。 首先,理解`HttpContext.Current`的工作原理是至关重要的。它是一...

    asp.net c# 在类中使用session的方法

    string nowtime = System.Web.HttpContext.Current.Session["nowtime"] as string; // 或者更安全的转换方式: object nowtimeObj = System.Web.HttpContext.Current.Session["nowtime"]; DateTime? nowtime = ...

    asp.net实现在线查看(预览)pdf,ppt,word,excel文件.rar

    【核心代码】 1 2 3 4 5 6 7 8 ...using System.Net;...using System.Net.Http;... System.Web.HttpContext.Current.Server.MapPath(sourceDoc), System.Web.HttpContext.Current.Server.MapPath(saveDoc)); }

    ASP.NET之Response.Cookies.Remove 无法删除COOKIE的原因

    在ASP.NET web开发中,Cookie是一种常见的用户会话管理工具,用于存储客户端的状态信息。`.NET` 提供了 `HttpCookie` 类来方便地创建、修改和管理Cookie。然而,在实际应用中,开发者可能会遇到一个棘手的问题:使用...

    【ASP.NET编程知识】ASP.NET实现301重定向方法.docx

    HttpContext.Current.Response.Status = "301 Moved Permanently"; HttpContext.Current.Response.AddHeader("Location", "http://www.qinquan.org/"); HttpContext.Current.Response.End(); } ``` 这段代码的...

    asp.net 导出GridView里的数据到Excel中

    HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=ExportData.xls"); HttpContext.Current.Response.Charset = "UTF-8"; HttpContext.Current.Response.ContentType = ...

    【ASP.NET编程知识】ASP.NET实现从服务器下载文件问题处理.docx

    在 ASP.NET 中,HttpContext.Current.ApplicationInstance.CompleteRequest 方法可以用来终止页面的执行,而不是使用 Response.End 方法。CompleteRequest 方法可以跳过 Application_EndRequest 事件的代码执行,而 ...

    WebSocket in ASP.NET Core.rar

    开发者可以使用`HttpContext.AcceptWebSocketAsync()`方法来接受一个WebSocket连接请求,并通过`WebSocket`类来发送和接收数据。 三、WebSocket的生命周期 在ASP.NET Core中,WebSocket连接的生命周期包括以下几个...

    在WEB API中启用session

    HttpContext.Current.Session["Key"] = "Value"; // 读取Session值 var value = HttpContext.Current.Session["Key"]; // 返回结果 return Ok(value); } } ``` 需要注意的是,启用Session会对Web API的...

Global site tag (gtag.js) - Google Analytics