`
guoyiqi
  • 浏览: 1012447 次
社区版块
存档分类
最新评论

asp.net中使用IHttpModule时,获取Session报错:会话状态在此上下文中不可用(转自:http://bbs.gimoo.net/thread/172722-1.html)

 
阅读更多
HttpModule如下:

public void Init(HttpApplication context)
{
context.AcquireRequestState += new EventHandler(context_AcquireRequestState);
}
void context_AcquireRequestState(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
string url = application.Request.Url.ToString();
string userName = Convert.ToString(application.Session[ "UserName "]);
......
application.Session[ "UserName "]出错:会话状态在此上下文中不可用

请问怎样在HttpModule中获得Session? 请帮忙,多谢了。。


=============================解决方法===============================

我来说一下我的研究结果:
首先,httpmodule是对所有的请求都相应,所以有一些非aspx的请求也进入了。比如说xx.css
这样的话就不存在session了,再去取session的值肯定会出错。其次,我把以前做java使用的那种filter方式配置的action,url不直接写xx.aspx,而用XX/XXX/XX这种模块方式,所以也会取不到sessioin。
我对dotnet的httpmodule不是很熟,如果高手有更好的解释或者方法,请说说。。。
明天我再结帖,谢谢大家了

分享到:
评论

相关推荐

    asp.net IHttpModule实现网站内容过滤

    ASP.NET中的IHttpModule是.NET Framework提供的一种机制,允许开发者在HTTP请求生命周期的不同阶段插入自定义逻辑。这个接口主要用于创建可重用的模块,这些模块可以处理HTTP请求和响应,从而扩展ASP.NET应用程序的...

    在 ASP.NET 中执行 URL 重写.pdf

    ### 在ASP.NET中执行URL重写 #### 引言 随着网络应用的不断发展与变化,网站维护者常常面临着需要更新网站结构、迁移内容等问题。在这个过程中,如何保持原有链接的有效性和用户体验成为了一项挑战。URL重写作为一...

    ASP.NET源码——UrlRewriter .NET v1.8 (For .net1.1).zip

    **.NET Framework 1.1兼容性**:此版本的UrlRewriter针对.NET Framework 1.1进行了优化,这意味着它可以在较旧的ASP.NET环境中运行,尽管后续的.NET版本引入了许多新的特性和性能改进。 通过深入研究这个源码,...

    asp.net屏蔽ip系统

    在ASP.NET中,可以使用多种方法来实现IP屏蔽。一种常见的方式是通过HTTP模块(HttpModule)。HTTP模块在请求到达实际处理页面之前介入,可以对每个请求进行预处理。我们可以创建一个自定义的HTTP模块,检查请求的源...

    在ASP.NET中实现Url Rewriting (三)

    在ASP.NET中实现Url Rewriting是一项重要的技术,它允许开发者将复杂的、动态生成的URL转换为简洁、易于理解和搜索引擎友好的格式。这篇文章主要探讨了如何在ASP.NET环境中使用HttpModule和HttpHandler来实现这一...

    ASP.NET架构详解

    在ASP.NET中,`aspnet_isapi.dll`就是这样一个ISAPI扩展,它负责将请求传递给.NET Framework进行进一步处理。 **4. ASP.NET处理请求** 一旦请求被传递给`aspnet_isapi.dll`,它就会启动.NET Framework来处理请求。...

    CAS 单点登录安装笔记4 -- asp.net client端的设置

    在这个"CAS单点登录安装笔记4 -- asp.net client端的设置"中,我们将深入探讨如何将ASP.NET应用程序配置为使用CAS服务器进行身份验证。 首先,要使ASP.NET客户端与CAS服务器协同工作,我们需要在客户端应用程序中...

    ASP.NET 编程模型介绍

    在ASP.NET中,编程模型主要包括HttpApplication、HttpModule、HttpHandler和相关事件的执行顺序。以下是对这些概念的详细解释: 1. **HttpApplication**: - HttpApplication对象是ASP.NET应用程序的核心,它协调...

    asp.net异常处理

    在ASP.NET中,当程序抛出未处理的异常时,如果不进行适当的处理,用户可能会看到不友好的错误信息,这对用户体验极其不利。因此,开发者通常会采取措施来捕获并处理这些异常,同时记录错误信息以便后续分析和调试。 ...

    介绍Asp.net HttpModule

    HttpModule对于深入理解Asp.Net的工作原理至关重要,因为它们在处理页面请求时扮演着重要角色。 首先,我们来看一下HttpModule的基本概念。一个HttpModule是一个实现了IHttpModule接口的类,这个接口有两个主要方法...

    HttpModule检验Session值

    在.NET框架中,HttpModule是IIS(Internet Information Services)处理HTTP请求时的关键组件,它在ASP.NET应用程序的生命周期早期介入,提供了自定义处理管道的机会。HttpModule可以用来执行各种任务,例如身份验证...

    【ASP.NET编程知识】Asp.net的应用程序对象和页面生存周期.docx

    Application_Start 和 Application_End 方法分别在 Asp.net 应用程序启动和关闭时调用。 二、HttpContext 对象 HttpContext 对象是 Asp.net 应用程序中非常重要的对象,它提供了当前 HTTP 请求的上下文信息。...

    asp.net中实现类似AOP功能

    ### ASP.NET 中实现类似 AOP 功能 在深入探讨如何在 ASP.NET 中实现类似 AOP(面向切面编程)的功能之前,我们先简要了解一下 AOP 的概念以及它为何重要。 **面向切面编程(AOP)** 是一种编程范式,旨在提高模块...

    Asp.net防盗链实例源码_aspx开发教程.rar

    在Asp.net开发中,防盗链(Anti-Linking)是一项重要的技术,它主要用于防止其他网站未经许可就直接引用或盗用服务器上的资源,如图片、视频、音乐等。这不仅保护了网站的知识产权,还能避免服务器带宽被过度消耗。...

    ASP.NET 执行 URL 重写

    在ASP.NET中,URL重写是一种强大的技术,它可以将复杂的、不友好的URL转换为简洁、有意义的格式,从而提高用户体验和搜索引擎优化(SEO)。URL重写不仅可以使URL更易读,还能帮助管理网站结构的变更,保持链接的有效...

    asp.net 抽象类、多态及接口

    此外,ASP.NET控件也展示了多态性,同一个控件(如Button)在不同的上下文(如PostBack事件)中可以有不同的行为。 **接口(Interface)** 接口在.NET Framework中扮演着契约的角色,它定义了一组必须被实现的方法...

    ASP.NET架构详解HttpHandler和HttpModule高清PDF文字版

    每个HttpModule都实现了IHttpModule接口,并且通过在`web.config`文件中注册,可以将它们添加到ASP.NET的请求处理管道中。 **ASP.NET请求流程**是这样的:客户端发起HTTP请求,服务器接收到请求后,IIS(Internet ...

    深入解析ASP.NET架构

    在ASP.NET架构中,请求处理流程是理解其工作原理的基础。当用户通过Web浏览器向服务器发起请求时,以下步骤依次发生: 1. **客户请求Web页面**:用户通过浏览器访问某个URL,发送HTTP请求。 2. **Web服务器寻找指令...

    深入解析ASP.NET架构官方课程视频

    3. 请求解析:ASP.NET的Isapi扩展或FastCGI模块捕获请求,并根据URL找到对应的ASP.NET应用程序。 4. 应用程序启动:如果应用程序池尚未启动,ASP.NET会初始化运行时环境,加载配置信息和应用程序集。 5. 模块处理:...

    《ASP.NET开发实战详解:入门、模块、系统》程序代码4

    在Web环境中,由于其无状态性,ASP.NET提供了一些状态管理机制,如ViewState、Session、Cookie等,以保持用户状态。了解和掌握这些状态管理方式对于开发高效的应用至关重要。 8. **部署与调试**: 最后,你还会...

Global site tag (gtag.js) - Google Analytics