`

ASP.NET 在一般处理文件(即.ashx文件)中获取不到当前Session信息

 
阅读更多

ASP.NET 在一般处理文件(即.ashx文件)中获取不到当前Session信息:


  通常我们经常,通过session判定用户是否登录。还有一些临时的、重要的数据也尝尝存放在Session中。

 

在页面我们很容易的得到Session的值,但在类中就会遇到一些问题。也知道通过下面的方法得到。

 

System.Web.HttpContext.Current.Session["ui"];

 

  但是在一般处理文件,通过System.Web.HttpContext.Current.Session的值为NULL,


因为IHttpHandler默认没有实现IRequiresSessionState这个标记接口,所以对于这个调用方HttpContext不会提供Session。


  Page就是同时实现了IHttpHandler和IRequiresSessionState。

 

在一般处理文件中获取Session,只需实现IRequiresSessionState接口即可,如


public class Delete : IHttpHandler, System.Web.SessionState.IReadOnlySessionState

分享到:
评论

相关推荐

    利用IRequiresSessionState让handler获取session

    4. 在`ProcessRequest`方法中,通过`HttpContext`对象的`Session`属性,我们可以获取到`Session["msg"]`的值。这正是从`handler.aspx`页面传递过来的会话变量。 5. `Response.ContentType`被设置为"text/html",确保...

    Asp.net在ashx文件中处理Session问题解决方法

    例如Session在ASP.NET程序中因删除文件夹而失效、在ASP.NET ASHX中获取Session的方法、在一般处理程序中使用Session的介绍,以及ASP.NET中将Session保存到数据库的方法。这些话题都涉及到如何更好地管理和使用...

    web错误统一处理 ASP.NET的错误处理机制

    6. **ASP.NET Core中的Error Handling Middleware**:在ASP.NET Core中,引入了中间件的概念,其中的错误处理中间件可以捕获未处理的异常,并进行相应的错误处理,如返回错误页面或生成JSON响应。 为了更好地实现...

    c#语言编写asp.net获取验证码

    在ASP.NET开发中,验证码(CAPTCHA)是一种常用的安全机制,用于防止自动化程序(如机器人)进行恶意操作,比如防止批量注册、恶意登录等。在本教程中,我们将深入探讨如何使用C#语言在ASP.NET环境中创建一个简单的...

    ASP.NET ASHX中获得Session的方法

    需要注意的是,在处理Session时要确保用户的请求在同一次会话中,因为Session状态是依赖于用户会话的。如果请求之间没有关联的会话状态,那么即使是实现了IRequiresSessionState接口的类也无法访问到有效的Session...

    ASP.NET动态验证码

    在ASP.NET中,我们通常会把验证码的值存储在Session对象中,因为它是跨页面的,适合保存这种临时性的状态信息。 此外,为了提高安全性,还可以考虑以下几点: 1. 设置合适的过期时间,防止用户长时间未操作后仍然...

    asp.net 完美随机验证码

    实现这个功能时,通常会创建一个HTTP Handler (.ashx 文件) 或 ASP.NET MVC 控制器动作,当用户请求验证码时,该处理器或控制器将生成验证码,将其保存在Session中,并返回包含验证码图像的HTTP响应。用户输入验证码...

    ASP.NET中如何使用验证码效验

    在ASP.NET中,为了增强安全性,常常需要使用验证码(CAPTCHA)来防止恶意自动登录或其他非法操作。验证码通常是一种随机生成的图像,包含一组需要用户手动输入的字符,以此验证用户是否为真实的人。 在ASP.NET中...

    ASP.NET程序中实现校验码图像生成.rar

    在ASP.NET中,可以使用`HttpHandler`(ASHX文件)或`HttpModule`来处理这个过程。 6. **处理用户输入**:当用户输入校验码后,服务器需要验证输入是否与生成的校验码匹配。这通常在表单提交时处理,通过比较用户...

    asp.net 附件下载

    3. **处理程序实现**:在处理程序中,我们首先需要获取要下载的文件的物理路径。这可能涉及到数据库查询或者硬编码文件路径。然后,使用`FileStream`或`FileInfo`类来打开并读取文件。 4. **使用Response对象**:...

    asp.net验证码源代码(界面和后台代码)

    在这个"asp.net验证码源代码(界面和后台代码)"的资源中,我们可以深入理解验证码的生成与验证过程,以及如何在ASP.NET中实现这一功能。 验证码通常由随机生成的一串字符或数字组成,这些字符经过扭曲、旋转、加噪等...

    软件架构设计:ASP.NET性能优化最佳实践

    4. **异步编程**:ASP.NET支持异步操作,这在处理I/O密集型任务时非常有用。使用async/await关键字可以释放线程资源,提高并发能力,尤其在高流量网站中至关重要。 5. **减少HTTP请求**:每个HTTP请求都会增加延迟...

    ASP.NET应用教程

    在ASP.NET中,一个网页从用户请求到服务器响应的过程称为页生命周期,包括初始化、加载、验证、呈现和卸载等阶段。理解这些阶段对于调试和优化页面性能至关重要。 其次,ASP.NET提供了多种网页类型,如ASPX(包含...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    在ASP.Net课程的一开始,不是直接教学员怎么拖ASP.Net控件进行快速开发,而是通过ashx的模式开发原始的动态网站,让学员明白“请求—处理—响应模型”、“Http协议、Http无状态”、“c#代码渲染生成浏览器端...

    ASP.NET源码——仿迅雷博客弹出登录窗口.zip

    这个源码示例是关于如何在ASP.NET中创建一个仿迅雷博客的弹出登录窗口,它提供了用户身份验证的功能,使得用户能够在不离开当前页面的情况下进行登录操作,提升了用户体验。 首先,这个项目的核心在于使用了AJAX...

    asp.net基础验证码案例说明

    2. **显示验证码**:在 ASP.NET 页面中添加一个 Image 控件,设置其源指向一个处理程序(如ashx),该处理程序负责生成并返回验证码图像。 3. **验证用户输入**:在提交表单时,服务器端会检查用户输入的验证码是否...

    VS前段发送数据到后端aspx文件传值到cs文件

    本话题主要涉及使用Visual Studio(VS)前端通过发送数据到后端的aspx文件,再将这些数据传递给.cs(C#)后台处理文件,特别是在一个典型的报名系统中,可能需要用户填写的信息发送到邮箱。以下是对这个过程的详细...

    ASP.NET简单实现注销功能

    3. 在一般处理程序的ProcessRequest方法中,首先调用context.Session.Clear()方法清空Session中的所有数据。然后调用context.Session.Abandon()方法取消当前的会话,这样服务器端的Session数据将不再保留用户的任何...

    ashx文件的使用小结

    ashx" type="text/javascript"></script>ASHX文件是ASP.NET中的一种特殊类型的Web处理程序,全称为HTTP Handler。它与ASPX页面不同,ASPX用于创建动态网页,而ASHX文件主要用于处理特定的HTTP请求,如数据传输、图片...

Global site tag (gtag.js) - Google Analytics