ASP.NET MVC 项目中 一般处理程序ashx 获取Session
2015-11-20 19:56
1046 查看
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-在ashx文件中,要对Session进行成功的读写,应该在使用 Session的class后增加接口IRequiresSessionState (添加
时可能提示添加命名空间 using System.Web.SessionState 的引用),否则 context .Session ["xxx"]读出的总是null
aspx.cs中是直接Request和Session,而在ashx中是context.Request和 context.Session.aspx.cs中可以直接使用,是因为有Web.UI,ashx中只能靠传进去的HttpContext实例对 Request和Session等进行操作。AppCode中的cs文件中没有Web.UI,没有HttpContext参数,如果 cs中可以得到当前的HttpContext,就可以根据这个HttpContext去操作Request和Session.
在cs中要操作Session,应该增加IRequiresSessionState 接口。HttpContext类中有一个静态属性叫Current,可以通过这个属性去得到当前的HttpContext.
在AppCode的cs文件中要得到当前访问者的IP,可以用HttpContext.Current.Request.UserHostAddress.
简单操作就是:在ashx类中添加接口 IRequiresSessionState就可。
public class TestHandler : IHttpHandler, IRequiresSessionState{}
转自:http://www.bdqn.cn/news/201310/11725.shtml
而在ashx中,Session都要使用context.Session,读写方法是这样的:
context.Session["xxx"]="aaa"和aaa=context.Session["xxx"].ToString()
2-在ashx文件中,要对Session进行成功的读写,应该在使用 Session的class后增加接口IRequiresSessionState (添加
时可能提示添加命名空间 using System.Web.SessionState 的引用),否则 context .Session ["xxx"]读出的总是null
aspx.cs中是直接Request和Session,而在ashx中是context.Request和 context.Session.aspx.cs中可以直接使用,是因为有Web.UI,ashx中只能靠传进去的HttpContext实例对 Request和Session等进行操作。AppCode中的cs文件中没有Web.UI,没有HttpContext参数,如果 cs中可以得到当前的HttpContext,就可以根据这个HttpContext去操作Request和Session.
在cs中要操作Session,应该增加IRequiresSessionState 接口。HttpContext类中有一个静态属性叫Current,可以通过这个属性去得到当前的HttpContext.
在AppCode的cs文件中要得到当前访问者的IP,可以用HttpContext.Current.Request.UserHostAddress.
简单操作就是:在ashx类中添加接口 IRequiresSessionState就可。
public class TestHandler : IHttpHandler, IRequiresSessionState{}
转自:http://www.bdqn.cn/news/201310/11725.shtml
相关文章推荐
- ASP.NET MVC- HtmlHelper的用法
- 为什么casperjs比phantomjs好
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
- (一)【转】asp.net mvc生成验证码
- Aspose.Excel.dll Excel导入、导出
- Asp.Net Thread is being Aborted
- asp.net页面跳转sessionid会变
- asp.net微信开发(永久素材管理)
- asp.net 时间格式大全
- ASP.NET学习笔记[10] - asp.net报错“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”的解决办法
- asp.net 动态压缩、切割图片,并做缓存处理机制
- ASP.NET 学习笔记(一)ASP.NET 概览
- asp.net MVC URL路由入门指南
- 在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数
- ASP.NET 下的Cookie和Session 简单介绍与操作
- [ASP.NET 5]终于解决:Unable to load DLL 'api-ms-win-core-localization-obsolete-l1-2-0.dll'
- .NET Core 和 ASP.NET 5 RC1 发布
- Barcode Professional for ASP.NET使用教程:指定区域条码的显示
- [Windows Server 2003] ASP.net安装方法
- asp.net微信开发(永久素材管理)