在ashx页面中context.Session["xxx"]获取不到值的解决办法

简介:

 1.在 aspx和aspx.cs中,都是以Session["xxx"]="aaa"和aaa=Session["xxx"].ToString()进行读写。 而在ashx中,Session都要使用context.Session,读写方法不变。


2.在ashx文件中,若要对Session进行成功的读写,应该在使用 Session的class后增加接口IRequiresSessionState (添加 时可能提示添加命名空间 using System.Web.SessionState 的引用),否则 .Sessio context n["xxx"]读出的总是null


那么,在aspx、aspx.cs和ashx中可以使用Session后,我们在 AppCode的cs文件中,如何操作Session或者得到访问者的IP?

首先, 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。

HttpContext类中有一个静态属性叫Current,我们可以通过这个属 性去得到当前的HttpContext。当然,在cs中要操作Session,也应该增加IRequiresSessionState 接口。


与Session、 Request、Response、Server等相关的方法和属性,都可以根据这个模式、方法去套用。

比如,在AppCode的cs文件 中要得到当前访问者的IP,可以用HttpContext.Current.Request.UserHostAddress。



















本文转自cnn23711151CTO博客,原文链接: http://blog.51cto.com/cnn237111/510681,如需转载请自行联系原作者









相关文章
|
4月前
BurpSuite8.2 -- 查找包含id参数的URL
BurpSuite8.2 -- 查找包含id参数的URL
44 1
|
4月前
|
测试技术
Cypress如何设置全局URL?
Cypress如何设置全局URL?
|
23天前
|
Java
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
该博客文章讲解了JSP中`<jsp:getProperty>`和`<jsp:setProperty>`动作的使用方法,包括它们的语法格式和如何在页面中使用这些动作来获取和设置JavaBean对象的属性值,并通过图书信息的填写和展示示例进行了演示。
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
|
13天前
|
前端开发 API
【API管理 APIM】APIM中如何配置使用URL路径的方式传递参数(如由test.htm?name=xxx 变为test\xxx)
【API管理 APIM】APIM中如何配置使用URL路径的方式传递参数(如由test.htm?name=xxx 变为test\xxx)
|
3月前
|
Web App开发 移动开发 安全
如何做到修改 url 参数页面不刷新
如何做到修改 url 参数页面不刷新
|
4月前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
|
10月前
thymeleaf获取url地址跳转时所带参数
thymeleaf获取url地址跳转时所带参数
284 0
|
JavaScript
(巨好使,详细,解析URl,URl自定义传参)js URl中快速自定义传参,并且实现参数解析 修改 和新增,替换功能
我们在日常开发中经常会遇到要对url中的参数进行修改和新增,但是自己手动每次敲就会导致代码很麻烦,且不易维护
321 0
(巨好使,详细,解析URl,URl自定义传参)js URl中快速自定义传参,并且实现参数解析 修改 和新增,替换功能
页面加载显示${xxx.yyy},不显示内容(el表达式默认不解析的问题)的解决办法
页面加载显示${xxx.yyy},不显示内容(el表达式默认不解析的问题)的解决办法
页面加载显示${xxx.yyy},不显示内容(el表达式默认不解析的问题)的解决办法
Cypress系列(55)- 设置全局 URL
Cypress系列(55)- 设置全局 URL
296 0
Cypress系列(55)- 设置全局 URL