.net的AJAX后台函数不能设置Session是怎么回事?

问题描述

前台scriptvarpbrt=navi_left.PostbackOpt(“A”).value;后台[Ajax.AjaxMethod()]publicstringPostbackOpt(stringopttypeanddeviceid){Session["opt_devcid"]=2;return("Back:"+opttypeanddeviceid.Trim());}这样返回为NULL,取消掉设置Session就返回正常。在后台其它地方(比如按钮事件里)设置Session是OK的。

解决方案

解决方案二:
另外在服务器端除了用户ID外的其它用户相关变量(比如用户的上一次操作时间),是放在缓存里好还是用Session好啊?
解决方案三:
没人知道吗?
解决方案四:
后台类少继承一个接口。
解决方案五:
你是说ajax.dll这个类缺少接口吗?那这种情况有没其它方法实现?本意是将session设为前台操作传回来的值。
解决方案六:
找到问题,感谢万能的CSDNhttp://blog.csdn.net/trassion/article/details/8509967
解决方案七:
继承一个接口:IRequiresSessionState
解决方案八:

解决方案九:
asp.net中是通过把session作为一个httpModules来实现的。通常的的aspx请求都是注册了SessionModule的,你可以在意些版本的web.config中查看,如:<httpModules><addname="OutputCache"type="System.Web.Caching.OutputCacheModule"/><addname="Session"type="System.Web.SessionState.SessionStateModule"/><addname="WindowsAuthentication"type="System.Web.Security.WindowsAuthenticationModule"/><addname="FormsAuthentication"type="System.Web.Security.FormsAuthenticationModule"/></httpModules>

一些非aspx的请求--如一般处理程序ashx需要自己去注册一下Session,楼上几位贴的IRequiresSessionState接口就是,这是一个标记接口,没有任何方法,但注明后就可以使用Session了。同理,你的ajax请求也需要手动注明下:AjaxPro.HttpSessionStateRequirement.ReadAjaxPro.HttpSessionStateRequirement.ReadWriteeg:[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]publicstringFun(){return"";}

解决方案十:
用缓存可能更好点,session容易丢失。
解决方案十一:
引用5楼dengshushu68的回复:

找到问题,感谢万能的CSDNhttp://blog.csdn.net/trassion/article/details/8509967

感谢楼主,长姿势了
解决方案十二:
引用6楼Mockqi的回复:

继承一个接口:IRequiresSessionState

+1
解决方案十三:
要继承一个接口,才能使用session

时间: 2024-11-10 11:06:05

.net的AJAX后台函数不能设置Session是怎么回事?的相关文章

ajax回调函数获取不到后台session里边的值

问题描述 ajax回调函数获取不到后台session里边的值 解决方案 又是一个没有搞清楚session在哪里的代码.教科书写明,session是服务器端的对象,也就是说,在浏览器端是取不到session的,也就是说,在浏览器端执行的JS代码是不可能调用到服务器端的session对象.所以,你那个alert()是后执行的,在alert执行时,session已经执行完毕,由于u是一个对象,在你使用<%=的方式进行输出时,自动调用toString()方法,如果你没有重写过这个方法,应该是得到一个&quo

asp.net下js通过AJAX调用后台函数传参数出错

问题描述 functionSelectRow(Index){vari=Index+1;vargdview3=document.getElementById("<%=gridview3.ClientID%>");vartid=document.getElementById("<%=lbsyh0.ClientID%>").innerText;varaxt=document.getElementById("<%=lbzzs.Clie

【springMVC 后台跳转前台】1.使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中 ----2.前后台都没有报错,不能进入ajax回调函数

问题1: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示:    问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法不认识最后返回的是给ajax的data,而是以为要去找这个页面所以并未找到!! 1 @RequestMapping("/queryAllDisease") 2 @ResponseBody 3 public PageInfo<Disease> queryAllDisease

php设置session的生存周期

本文主要分享一下关于php session的生存周期的相关知识. 首先说一下session的创建的开始到结束的过程. 当程序需要为某个客户端的请求创建一个 session 的时候,服务器首先会检查这个客户端是否已经包含了一个 session 标识,这个我们称为 session id(获取方法为 session_id() ),如果已包含一个 session id 则说明此客户端之前已经创建过 session,服务器则按照 session id 把这个 session 中的值检索出来,如果客户端不包

如何解决Ajax访问不断变化的session的值不一致以及HTTP协议中的GET、POST的区别_AJAX相关

今天在做一个进度条的时候遇到一个问题,我在session里面存放了一个计数器,当爬取到一条数据的时候这个值+1,然后前台每隔3s中获取一次session的这个值,但是问题出来了,在FF下面,得到的值都是正常的,但是在IE下面死活都是之前的值,只有当重新打开页面的时候才能获取到最新的 session值: 下面是我的proBar.jsp的代码: <%@ page language="java" import="java.util.*" pageEncoding=&

ajax后台代码重复执行

问题描述 ajax后台代码重复执行 10C 自己写个小程序遇到个奇葩问题在点击按钮发送ajax请求查询数据的时候数据能正常显示但是在火狐控制台有报错报错原因是说语法错误ajax返回内容为 ""请求参数不正确!"" 这句话是我在Controller层返回的.如果参数缺失才会提示这个.但是我检查后发现并不是参数缺失而且请求被重复提交第二次提交参数都丢失了有点像被重定向了.第一次数据有正常返回在页面显示但是不知道为什么会又提交一次并且网络请求里面只有一次请求!!! js代

php中实现精确设置session过期时间的方法_php技巧

大多数据情况下我们对于session过期时间使用的是默认设置的时间,而对于一些有特殊要求的情况下我们可以设置一下session过期时间. 对此,可以在PHP中,设置php.ini,找到session.gc_maxlifetime = 1440 #(PHP5默认24分钟)这里你可以随便设置一下过期时间.但是有人说设置以后,好象不起作用! 其实不是不起作用,而是因为系统默认: session.gc_probability = 1 session.gc_divisor = 1000 garbage c

详解php设置session(过期、失效、有效期)_php技巧

在php中设置session有很多方面包有给session设置值或直接设置过期.失效和有效期,下面小编来给大家给各位朋友介绍怎么使用. 我们先来看看在php.ini中session怎么设置,打开 php.ini,查找Session设置部分中以下一项,代码如下: session.save_path = "N;/path" session.save_path = "C:/Temp" #此处以你自己设定的路径为准  这项设置提供给我们可以给session存放目录进行多级散

可以使用dwr设置session吗?

问题描述 在网上查找了很多dwr的资料,都是讲dwr如何访问session不知dwr是否可以设置session?谢谢!问题补充:比如如下代码我可以访问session,但是我想在java中设置session可以吗?不知大家有试过没/** * 根据记录ID,删除贷款业绩分配记录 * * @param id * @return */public String delLnRela(int id, HttpSession session) {Connection conn = PubVariable.ge