`
zendj
  • 浏览: 121331 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

在自定义HttpHandler中使用Session

阅读更多
在自定义HttpHandler中使用Session

转自:动态网站制作指南 | www.knowsky.com
var arrBaiduCproConfig=new Array(); arrBaiduCproConfig['uid'] =2214; arrBaiduCproConfig['n'] ='sayyescpr'; arrBaiduCproConfig['tm'] =40; arrBaiduCproConfig['cm'] =80; arrBaiduCproConfig['um'] =40; arrBaiduCproConfig['w'] =336; arrBaiduCproConfig['h'] =265; arrBaiduCproConfig['wn'] =1; arrBaiduCproConfig['hn'] =5; arrBaiduCproConfig['ta'] ='center'; arrBaiduCproConfig['tl'] ='bottom'; arrBaiduCproConfig['bu'] =0; arrBaiduCproConfig['bd'] ='#trans'; arrBaiduCproConfig['bg'] ='#trans'; arrBaiduCproConfig['tt'] ='#0000ff'; arrBaiduCproConfig['ct'] ='#444444'; arrBaiduCproConfig['url'] ='#008000'; arrBaiduCproConfig['bdl'] ='#000000'; arrBaiduCproConfig['rad'] =1; <!-- document.write(baiduCproIFrame()); -->

最近需要做一个对特定请求进行响应的接口,只是在内部处理,不存在UI,机于这种情况,当然是使用实现IHttpHandler来进行处理,可以减掉加载HTML 控件的时间。本来都是这样想的,对于IHttpHandler 中定义了两个方法,ProcessRequest(HttpContext ctx) 和 IsRunable() 这两个,看到在ProcessRequest(HttpContext ctx) 中有个HttpContext的输入参数,本来以为通过这个就可以对所有的服务器对象进行使用,只是在前面需要对HttpContext的引用。不过问题出现了,在这个自定义HTTP 响应处理头中需要写入Session,对于其他Request和Response 都可以通过使用HttpContext来引用使用,不过Session 就是不行,总是出现对象未进行引用的错误,真是百思不得其解,好好的HTTPCONTEXT 里面都列出了可以使用的服务器对象,但是就是SESSION 用不了!真苦,只好将自定义HTTPHANDLER 的内容做到普通的WEBFORM 中。就在做好后,却无意中发现在自定义HTTPHANDLER 中使用SESSION 的方法!
1、先引用System.Web.SessionState 这个命名空间,
2、如果是要在HttpHandler 中读取Session的内容,就要在实现IHttpHandler 的类中同时实现IReadOnlySessionState 这个接口。
3、如果是要在HttpHandler 中读写Session的内容,就要在实现IHttpHandler 的类中同时实现IRequiresSessionState

这样就可以在自定义的HttpHandler 中正常的使用Session了。

转自:动态网站制作指南 | www.knowsky.com
分享到:
评论

相关推荐

    session在httphandler失效

    2. **同步访问Session**:如果HTTPHandler中涉及到Session操作,应确保在多线程环境中使用适当的锁定机制。 3. **调整Session生命周期**:可以通过修改`&lt;sessionState&gt;`元素的`timeout`属性来延长或缩短Session的...

    在asp.net中使用session常见问题集锦

    ### 在ASP.NET中使用Session常见问题集锦 #### Session为何会丢失? 在ASP.NET应用程序中,用户的状态(Session)有时会出现丢失的情况。这种情况的发生可能是由于多种原因造成的,比如应用程序池的回收、Session...

    asp.net HttpHandler操作Session的函数代码

    然而,在 *** 的 HttpHandler 中使用 Session 时,需要特别注意。由于 Session 状态的管理是依赖于 *** 的管道(pipeline)的,HttpHandler 默认情况下不会自动加载 Session 状态。这是因为不是所有的请求都需要或...

    asp.net handler的使用源代码

    /// 目的:实现一个简单的自定义HttpHandler容器 /// 作者:文野 /// 联系:stwyhm@cnblogs.com /// public class MyFirstHandler : IHttpHandler,IRequiresSessionState { #region IHttpHandler 成员 ...

    AjaxGuide.doc

    - **Session状态**:如果需要在Ajax请求中使用Session,确保在HttpHandler中正确处理Session,并在客户端配置中开启Session支持。 **结论** Ajax .Net Wrapper提供了一个方便的框架,使得.Net开发者可以轻松地集成...

    验证码(.Net)

    在这个.Net项目中,我们使用了HttpHandler来实现一个简单的验证码服务。HttpHandler是ASP.NET中的一种组件,它允许自定义处理HTTP请求,非常适合用于构建这种轻量级的服务。 首先,我们要理解什么是HttpHandler。在...

    asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)

    这是因为在HttpHandler中可能需要访问或修改Session状态。 7. 在客户端的事件处理代码中,如***中的按钮点击事件(Exit_Click),也可以调用Response.Redirect("Logout.aspx")来触发退出过程。 总结来说,为了解决...

    Asp.Net HttpHandler 妙用

    在web.config中,我们需要配置HttpHandler,告诉IIS何时使用自定义处理器。这可以通过添加一个`&lt;add&gt;`元素到`&lt;httpHandlers&gt;`集合中完成,指定`verb`(HTTP方法,如GET、POST)、`path`(处理器应该处理的URL路径)...

    asp.net网站流量统计源码

    2. **自定义HttpHandler**:`CounterHandler.cs`可能是实现了`IHttpHandler`接口的类,这个接口允许开发者创建自己的HTTP处理器,以处理特定类型的请求。在处理程序中,可以记录每次页面访问,然后更新统计信息。 3...

    c#写的验证码(附使用实例)

    在这个实例中,我们可以创建一个ASHX类型的HttpHandler,用于生成验证码图像并将其响应给客户端。 下面是一个简单的C#验证码HttpHandler示例: ```csharp using System; using System.Drawing; using System....

    ASP.NET 课程设计

    5. **路由**:虽然ASP.NET 3.5不直接支持路由,但可以通过自定义HttpHandler或使用第三方库实现简单的URL重写,为Web Forms应用提供更友好的URL结构。 6. **安全性**:学习如何设置身份验证和授权,例如Windows身份...

    asp.net c#验证码程序

    在`ProcessRequest`方法中,生成随机字符串并将其保存到Session中,然后用该字符串创建一个图像,图像上的文字即为验证码。这通常通过绘制文本到图像上,设置字体、颜色、背景等属性来完成。 4. **显示验证码**:在...

    asp.net 验证码控件

    - 当用户提交表单时,服务器会检查Session中的验证码是否与用户输入一致。 5. **刷新验证码** - 提供一个刷新按钮或链接,允许用户在无法辨认验证码时获取新的验证码。 - 刷新验证码时,需要同时更新服务器端和...

    asp.net 图片验证代码

    当用户提交验证后,会清空Session中的验证码,防止重用。 7. **性能优化**: - 缓存机制:对于频繁请求的验证码,可以考虑使用缓存机制,减少每次生成验证码的计算开销。 - 图片格式:考虑到网络传输,通常将...

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

    - **使用Session存储验证码**:生成的验证码存储在服务器端的Session中,以供后续验证使用。 3. **HTTP处理程序(HttpHandler)** - **验证码HTTP处理程序**:创建一个`.ashx`文件作为HTTP处理程序,当请求验证码...

    .net生成验证码

    在ASP.NET中,可以创建一个自定义的HttpHandler或HttpModule来处理验证码的生成和验证。HttpHandler负责生成验证码图像并返回给客户端,HttpModule则可以在每次请求时检查请求的验证码是否正确。 为了实现这些...

    asp.net中所验证码控件

    HTTP处理程序(HttpHandler)负责生成随机的验证码字符串并将其保存在Session中,同时绘制验证码图片并返回给浏览器。验证方法则比较用户输入的验证码与Session中存储的验证码是否一致: ```csharp public void ...

    ASP.NET 2.0快速入门(15):ASP.NET 2.0 的扩展应用

    2. **自定义HttpHandler和HttpModule**:HTTP处理器(HttpHandler)和HTTP模块(HttpModule)是ASP.NET处理请求的关键组件。开发者可以通过编写自定义的HttpHandler来处理特定类型的HTTP请求,比如处理静态文件、流...

    随机验证码的生成程序

    在ASP.NET中,可以创建一个自定义的HttpHandler或HttpModule来处理验证码的生成和验证。这些组件在接收到特定请求时,会生成验证码并将其作为图像输出,同时在Session中存储验证码值。验证时,只需比较用户输入的值...

    Community Server专题.pdf

    CS中可能使用定时器(Timer)来定期触发这些任务,例如清理过期的Session数据或发送提醒邮件等。 ### 七、MemberRole之Membership **Membership**是.NET框架提供的用户身份验证机制,它提供了一组API用于用户账户的...

Global site tag (gtag.js) - Google Analytics