ASP.NET 之异步处理一(Session处理)

一般我们通过ajax来处理用户信息的时候,遇到了Session值是找不到的这是为什么?

我们所谓的页面就是一个处理程序,其实现非常复杂,要通过asp.net的管道处理,一般处理程序也要通过管道事件来过滤最终生成HTML提交浏览器,但是一般处理程序.ashx页只是继承了IHttpHandler接口,无法传递Session,那么要截取HttpContext context 的Session对象值怎么办?

public class CustomerPhoto : IHttpHandler

解决方案:

首先ashx页不像aspx页直接继承了page 实现了接口我们可以直接拿到Session,而ashx页只是继承了IHttpHandler接要截取HttpContext context 的Session对象必须实现IRequiresSessionState,导入程序集合using System.Web.SessionState; 同时使用context.Session对象。这样才获取了Session值。

public class CustomerPhoto : IHttpHandler, System.Web.SessionState.IRequiresSessionState

public void ProcessRequest(HttpContext context)在传进的 context中截取session的值

public void SavePic()
{
HttpContext ctx = HttpContext.Current;

}

ctx就是(HttpContext的 报文 与报文中所有值得的数据,也就是客户端所传进的数据进行处理。

时间: 2024-08-14 08:08:03

ASP.NET 之异步处理一(Session处理)的相关文章

ASP.NET MVC中使用ASP.NET AJAX异步访问WebService

使用过ASP.NET AJAX的朋友都知道,怎么通过ASP.NET AJAX在客户端访问WebService,其实在ASP.NET MVC中使用ASP.NET AJAX异步访问WebService 也没什么大的差别. 在ASP.NET应用程序里使用ASP.NET AJAX访问WebService通常都是通过ScriptMananger引入WebService生成客户端代理的方法,同时也可以使用Microsoft Ajax Library来完成.本文将介绍在ASP.NET MVC中使用ASP.NE

ASP.NET中利用Application和Session统计在线人数、历史访问量

先来简单说一下ASP.NET中的Application和Session 下图是我们非常熟悉的Web应用程序的结构: 在这张图中,Web服务器中运行的Web应用程序就是我们所说的Application,每个客户端与Web服务器之间建立的连接就可以看做是一个Session.比如现在服务器端运行的是一个论坛系统,那么现在这个正运行在服务器端的论坛系统的软件就可以看做Application,而每个在线的用户与之建立的连接就相当于一个Session. 那么很容易就会理解,Application是共享的,相

不拖控件ASP.NET——探知cookie和session(2)

    接着上篇的博客我们来讲解服务器端保存数据的机制-session     我们知道cookie是保存在客户端的,这样数据就存在一个不安全性,此外还有 一个问题就是不能够存储大量的数据,我们上篇博客还遗留一个问题就是客户端是可以篡改数据的,相当于保留在病人手上的病历本是可能被用户篡改的(一般情况下,用户不会篡改,这样多危险了,医生误诊怎么办?哈哈)     此外医生会给每个患者编制一个编号,并且自己再保存一个编号,这样当病人来的时候根据编号来识别病人的身份,当然用户会可以别人的编号猜出来自己

Asp.net mvc与PHP的Session共享的实现

最近在做的一个ASP.NET MVC的项目,要用到第三方的php系统,为了实现两个系统的互联互通.决定将两者的session打通共享.让asp.net mvc 和php 都能正常访问和修改Session内容. 在决定实现之前,先搜索了一下院子里有没有相类似的文章,对于跨语言的程序互通,有两种方案: (1)       SSO单点登录,其实就是把用户名和密码传给另一个系统在另一个系统上自动创建session 来解决. (2)       还有就是用同一套Session,在数据库或缓存上架设sess

在asp.net webservice中如何使用session

原文:在asp.net webservice中如何使用session 原文:刘武|在asp.net webservice中如何使用session 在使用asp.net编写webservice时,默认情况下是不支持session的,但我们可以把WebMethod的EnableSession选项设为true来显式的打开它,请看以下例子: 1 新建网站WebSite 2 新建web服务WebService.asmx,它具有以下两个方法: C#-Code: [WebMethod(EnableSessio

ASP.NET Web Service中使用Session 及 Session丢失解决方法 续

原文:ASP.NET Web Service中使用Session 及 Session丢失解决方法 续 1.关于Session丢失问题的说明汇总,参考这里 2.在Web Servcie中使用Session,需要对Web Method做如下处理 [WebMethod(EnableSession = true)]public void usingSession(){    Session["Name"] = "Name";} 如果不加EnableSession = tru

ASP.NET MVC 使用Redis共享Session

储存模式 1.InProc模式 这是ASP.NET默认的Session管理模式,在应用进程内维护Session. 2.StateServer模式 这是在服务器装了.NET环境后自带的一个StateServer服务,在应用进程外管理Session,可以进行多应用间的Session共享. 3.SQLServer模式 这是利用SQLServer进行Session的托管.其优点在于可以利用SQLServer的优势处理海量Session,在应用进程外.可持久化.安全性高等优点. 4.Custom模式 这是

ASP.NET二级域名站点共享Session状态

前面一篇文章提到了如何在使用了ASP.NET form authentication的二级站点之间共享登陆状态, http://www.cnblogs.com/jzywh/archive/2007/09/23/902905.html, 今天, 我要写的是如何在二级域名站点之间,主站点和二级域名站点之间共享Session. 首先, Session要共享,站点之间SessionID必须要一致,那怎么保证SessionID一致呢? ASP.NET中的SessionID是存储在客户端的cookie之中键

ASP.NET MVC异步验证是如何工作的03,jquery.validate.unobtrusive.js是如何工作的

在上一篇"ASP.NET MVC异步验证是如何工作的02,异步验证表单元素的创建"中了解了ASP.NET异步验证是如何创建表单元素的,本篇体验jquery.validate.unobtrusive.js异步验证的全过程. 在jquery.validate.unobtrusive.js文件的尾部看到了如下的一个调用: $(function () { $jQval.unobtrusive.parse(document); }); 可见,通过把当前页的document对象传给$jQval.u

Asp.net mvc 中处理同一个session的并行请求的问题

首先来一个小的asp.net mvc 4的sample,代码如下: HomeController: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.SessionState; namespace MvcApplication2.Controllers { public class HomeContr