在ashx文件中使用session的解决思路

如果你要保证数据的安全性,你可以在ashx中使用session验证。
如:你的index.aspx中使用jquery回调ashx数据,那么在index.aspx page_load时session["checked"]="true",在ashx中验证session是否存在。

但ashx中要获取session内容还需如下几步

①导入命名空间


代码如下:

using System;
using System.Web;
using System.Web.SessionState;//第一步:导入此命名空间

②实现接口

publicclassMyWeb:IHttpHandler将此改为如下:

publicclassMyWeb:IHttpHandler,IRequiresSessionState//第二步:实现接口 到此就可以像平时一样用Session了

③调用方法

HttpContext.Current.Session["Session变量名称"]

(0)

相关推荐

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

    今天做一个vb.net的登录实例,前台使用Ext中Ajax ,后台用ashx文件处理登录过程,并将用户储存在Session中总是出现在这个错误.  [NullReferenceException: 未将对象引用设置到对象的实例.] 从网上查了一下有以下几种原因: 1.ViewState 对象为Unll. 2.DateSet 空. 3.sql语句或Datebase的原因导致DataReader空. 4.声明字符串变量时未赋空值就应用变量. 5.未用new初始化对象. 6.Session对象为空.

  • 后缀为 ashx 与 axd 的文件区别浅析

    唯一不同的地方是:axd扩展名的必须要在web.config中的<httpHandlers>中进行注册,而ashx直接在项目中当成aspx那样添加使用即可.所以在项目的添加文件中,向导只有添加ashx文件的模板,而没有添加axd文件的模板.那微软为什么这么无聊搞两个后缀,全部使用ashx不就行了么?干脆利落.原来,如果你的web handler代码不在Web的项目中的话,那你就不能使用ashx了,因为如果不在web.config中注册的话,系统根本不知道要在那个dll库中才能找到相应的代码.如

  • aspx与ascx,ashx的用法总结

    做asp.net开发的对.aspx,.ascx和.ashx都不会陌生.关于它们,网上有很多文章介绍."纸上得来终觉浅,绝知此事要躬行",下面自己总结一下做个笔记. 1..aspxWeb窗体设计页面.Web窗体页由两部分组成:视觉元素(html.服务器控件和静态文本)和该页的编程逻辑(VS中的设计视图和代码视图可分别看到它们对应得文件).VS将这两个组成部分分别存储在一个单独的文件中.视觉元素在.aspx 文件中创建. 2..ascxasp.net的用户控件,是作为一种封装了特定功能和行

  • 基于.NET中:自动将请求参数绑定到ASPX、ASHX和MVC的方法(菜鸟必看)

    前言 刚开始做AJAX应用的时候,经常要手工解析客户端传递的参数,这个过程极其无聊,而且代码中充斥着:Request["xxx"]之类的代码. 这篇文章的目的就是告诉初学者如何自动将客户端用AJAX发送的参数自动绑定为强类型的成员属性或方法参数. 自动绑定到ASPX和ASHX 框架支持 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin

  • ashx中使用session的方法(获取session值)

    WEB开发,在一般处理程序中,很容易得到 Request和Response对象,如: 复制代码 代码如下: HttpRequest _request = context.Request; HttpResponse _response = context.Response; 但是要得到 Session的值就没有那么简单了. 比如如果要在ashx得到保存在Session中的登录用户信息 Session["LoginUser"] 如果仅仅使用 context.Session["Lo

  • ASP.NET ASHX中获得Session的方法

    1-在 aspx和aspx.cs中,都是以Session["xxx"]="aaa"和aaa=Session["xxx"].ToString()进行读写. 而在ashx中,Session都要使用context.Session,读写方法是这样的: context.Session["xxx"]="aaa"和aaa=context.Session["xxx"].ToString() 2-在ash

  • ashx介绍以及ashx文件与aspx文件之间的区别

    ashx是什么文件? .ashx 文件用于写web handler的..ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程.其实就是带HTML和C#的混合文件. .ashx文件适合产生供浏览器处理的.不需要回发处理的数据格式,例如用于生成动态图片.动态文本等内容. ashx文件是.net 2.0新加的文件类型(其实在.net 1.0下已经可用,但是没有公开提供). ashx文件和aspx文件有什么不同? 我们先新建一

  • ashx文件的使用小结

    一提到Ashx文件,我们就会想到http handler以及图片加载(在之前我们一般使用ASPX或者Webservice去做),一般做法如下: Handler.ashx: 复制代码 代码如下: <%@ WebHandler Language="C#" Class="Handler" %>using System;using System.IO;using System.Web;public class Handler : IHttpHandler { p

  • *.ashx文件不能访问Session值的解决方法

    本文实例讲述了*.ashx文件不能访问Session值的解决方法.分享给大家供大家参考之用.具体方法如下: 实例代码如下: <%@ WebHandler Language="C#" Class="productHandler" %> using System; using System.Web; using JBTCard.Entity.CompanyEntity; using JBTCard.Business.CompanyBS; using Syst

  • 在ashx文件中使用session的解决思路

    如果你要保证数据的安全性,你可以在ashx中使用session验证.如:你的index.aspx中使用jquery回调ashx数据,那么在index.aspx page_load时session["checked"]="true",在ashx中验证session是否存在. 但ashx中要获取session内容还需如下几步:①导入命名空间 复制代码 代码如下: using System; using System.Web; using System.Web.Sessi

  • 在.ashx文件中获取cookies值实现代码

    创建 复制代码 代码如下: HttpCookie cookies = new HttpCookie("validate"); cookies["validate"] = validateNum; Response.AppendCookie(cookies); 获取 复制代码 代码如下: if (context.Request.Cookies["validate"] != null) { validate = context.Request.Coo

  • jquery向.ashx文件post中文乱码问题的解决方法

    1.我的环境:vs2005,未装SP1补丁,不能创建Web应用程序,只能创建网站:jquery版本1.5.1 2.web.config中的相关配置 <globalization requestEncoding="gb2312" responseEncoding="gb2312"/> 3.jquery的Post数据的写法 复制代码 代码如下: $(document).ready(function (){ $("#btnSend").cl

  • ashx文件获取$.ajax()方法发送的数据

    今天在使用Jquery的ajax方法发送请求时,发现在后台中使用ashx文件无法接收到ajax方法中传递的参数,上网查了一下原因后发现了问题所在,原来是我在$.ajax方法中指明了"contentType: 'application/json; charset=utf8'",所以才导致了在ashx文件中处理请求时无法获取传递到服务器端的参数, 正确的写法如下: $.ajax({ url: '/Handler.ashx?operFlag=test', type: 'POST', /* 请

  • jquery访问ashx文件示例代码

    .ashx 文件用于写web handler的..ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程.其实就是带HTML和C#的混合文件. .ashx文件适合产生供浏览器处理的.不需要回发处理的数据格式,例如用于生成动态图片.动态文本等内容.很多需要用到此种处理方式.此文档提供一个简单的调用ashx文件的Demo,并贴出关键文件的源码. 以下为Demo中Login.ashx文件中的源码: public class L

  • php中的session完全教程第1/2页

    一.session概述 session是什么,刚开始我也不明白,非专业词典翻译为会议,会议期.作个不太恰当的比喻吧 (虽然不恰当,但意义却是一样的),session是你和网站之间的感情. session在web技术中占有非常重要的份量.由于网页是一种无状态的连接程序,因此你无法得知用户的浏览状态.因此我们必须 通过session记录用户的有关信息,以供用户再次以此身份对web服务器提供要求时作确认,例 如,我们在某些网站中常常要求用户登录, 但我们怎么知道用户已经登录了呢,如果没有session

  • 关于html+ashx开发中几个问题的解决方法

    问题1:用委托字典代替switch...case. 这个问题是在处理请求时发现的,大家肯定也不愿意在自己的项目中建许多的handler来处理那么多的请求,于是就想到在一个handler里处理多个请求,ajax请求中都加一个action的参数,在handler里根据这个action做相应的处理或返回相应的数据,这里肯定没有人用if...else来判断action,大多数人都会想到用switch...case,一开始我也是用的switch,但渐渐地发现,每个case不像一个代码块,不能为其中的变量提

随机推荐