如何在ashx页面获取Session值

在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下:

HttpRequest Request = context.Request;

HttpResponse Response = context.Response;

但是要得到 Session的值就没有那么简单了。比如你要在ashx得到保存在Session中的登录帐号Session["userAccount"]

如果你只是context.Session["userAccount"]的话是会报 “未将对象引用设置到对象的实例”的异常

所以,如果要想取Session中的值 ,需要如下所示

1、引入 命名空间:

using System.Web.SessionState;

2、实现IRequiresSessionState接口,具体如下

/// <summary>
    /// $codebehindclassname$ 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class AddUserInfo : IHttpHandler,IRequiresSessionState //就是这样显示的实现一下,不用实现什么方法
    {

public void ProcessRequest(HttpContext context)
        {

      //...

       //这样你就可以如下 操作了

if(context.Session["userAccount"] != null)

      {

        string account = context.Session["userAccount"].ToString();

      }

      //...继续下面的代码

    }

  }

时间: 2024-10-10 22:24:11

如何在ashx页面获取Session值的相关文章

怎么在ashx页面获取Session值

在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下: HttpRequest Request = context.Request; HttpResponse Response = context.Response; 但是要得到 Session的值就没有那么简单了.比如你要在ashx得到保存在Session中的登录帐号Session["userAccount"] 如果你只是context.Session["userAccount&

php网页跳转无法获取session值

今日编写项目,需要在跳转后的页面获取session值进行自动登录操作,但是明明在传输页面可以打印出session值,但在接受页面却显示session值为空,经确认脚本中的session_start()已打开,且接受代码也没有问题,最后发现问题出在域名上,传输页面域名不同,而session跨域传值需要其他设置,问题比较低级,但应引以为戒,代码编写是个严谨的工作,马虎不得,在以后代码编写中应格外注意. 原文地址:https://www.cnblogs.com/wlgh01/p/8376295.htm

ASP.NET - 一般处理程序获取session值

1.要在一般处理程序中获取其他页面的session值,需要引用名空间: using System.Web.SessionState; 2.然后继承一个接口:IRequiresSessionState,如图: public class Handler : IHttpHandler, IRequiresSessionState { ······ ······ ······ } 3.然后就可以获得session值了: HttpContext context = new HttpContext(); s

jsp页面和js代码中使用sessionScope获取session值

场景:有些实体对象可以放到HttpSession对象中,保正在一个会话期间可以随时获取这个对象的属性,例如可以将登录用户的信息写入session,以保证页面随时可以获取并显示这个用户的状态信息.下面以此为例. 本文转自:http://blog.csdn.net/baidu_30809315/article/details/77159549 1.后台将用户这一实体对象写入session(HttpSession),这里是从拦截器中写入,代码中的userInfo是从单点登录服务器获取的登录用户信息 [

php session跨页面传递 session值丢失问题

1.session_start();应该尽量放置到页面的顶部: 2.如果php.ini里面没有配置 session Autostart的话,每次会话之前,都得手动开启session:session_start(); 3.session是php里面的超全局变量,跟$_GET,$_POST,$_SERVER一样,所以使用的时候必须大写:$_SESSION['username']=$username; 4.跨页面传递示例:a.php页面传递$_SESSION['username']到b.php: a.

JSP使用sessionScope获取session值

场景:有些实体对象可以放到HttpSession对象中,保正在一个会话期间可以随时获取这个对象的属性,例如可以将登录用户的信息写入session,以保证页面随时可以获取并显示这个用户的状态信息.下面以此为例. 1.后台将用户这一实体对象写入session(HttpSession),这里是从拦截器中写入,代码中的userInfo是从单点登录服务器获取的登录用户信息 1 User user = new User(userInfo); 2 session.setAttribute("loginUser

php session跨页面传递 session值丢失问题之完美解决

今天想用一个session来实现用户登录判断,也算是对之前session的探究,查了下资料session的运行机制如下: session是服务器端的一种会话机制,当客户端的请求服务器创建一个session时,服务器会先检测该请求里面是否包含一个惟一的sessionID,如果是,说明服务器已经为该用户创建过session,只要按照该sesionID检索出该用户的session供用户使用,如果没有sessionID,服务器会为该用户新建一个带有唯一表示服sessionID的session.创建完成后

.Net框架中,.ashx页面访问session

public class ClassName : System.Web.SessionState.IRequiresSessionState 需实现session接口

如何在jsp页面获取系统时间

<%@ page import="java.util.*"%> //获取系统时间必须导入的 <%@ page import="java.text.*"%> //获取系统时间必须导入的 String datetime=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()); //获取系统时间