如何在ashx页面获取Session值

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

在一般事务处理页面,可以轻松的得到 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();

}

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

}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航