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

dengshushu68 2014-07-17 06:55:00
前台script

var pbrt = navi_left.PostbackOpt(“A”).value;

后台
[Ajax.AjaxMethod()]
public string PostbackOpt(string opttypeanddeviceid)
{

Session["opt_devcid"] = 2;

return ("Back:" + opttypeanddeviceid.Trim());
}

这样 返回为NULL, 取消掉设置Session就返回正常。
在后台其它地方(比如按钮事件里)设置Session是OK的。
...全文
211 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
myhope88 2014-07-21
  • 打赏
  • 举报
回复
要继承一个接口,才能使用session
Im_Sorry 2014-07-19
  • 打赏
  • 举报
回复
引用 6 楼 Mockqi 的回复:
继承一个接口:IRequiresSessionState
+1
Rajesh_James 2014-07-19
  • 打赏
  • 举报
回复
引用 5 楼 dengshushu68 的回复:
找到问题,感谢万能的CSDN http://blog.csdn.net/trassion/article/details/8509967
感谢楼主,长姿势了
cocosip 2014-07-19
  • 打赏
  • 举报
回复
用缓存可能更好点,session 容易丢失。
  • 打赏
  • 举报
回复
继承一个接口:IRequiresSessionState
dengshushu68 2014-07-18
  • 打赏
  • 举报
回复
找到问题,感谢万能的CSDN http://blog.csdn.net/trassion/article/details/8509967
dengshushu68 2014-07-18
  • 打赏
  • 举报
回复
你是说ajax.dll这个类缺少接口吗? 那这种情况有没其它方法实现? 本意是将session设为前台操作传回来的值。
卧_槽 2014-07-18
  • 打赏
  • 举报
回复
后台类少继承一个接口。
dengshushu68 2014-07-18
  • 打赏
  • 举报
回复
没人知道吗?
GT7466 2014-07-18
  • 打赏
  • 举报
回复
asp.net中是通过把session作为一个httpModules来实现的。通常的的aspx请求都是注册了Session Module的,你可以在意些版本的web.config中查看,如:

<httpModules>
    <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
    <add name="Session" type="System.Web.SessionState.SessionStateModule" />
    <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
    <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
</httpModules>
一些非aspx的请求--如一般处理程序ashx需要自己去注册一下Session,楼上几位贴的IRequiresSessionState接口就是,这是一个标记接口,没有任何方法,但注明后就可以使用Session了。 同理,你的ajax请求也需要手动注明下: AjaxPro.HttpSessionStateRequirement.Read AjaxPro.HttpSessionStateRequirement.ReadWrite eg:

 [AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]   
public string Fun()
{
return "";
}

沧海 2014-07-18
  • 打赏
  • 举报
回复
dengshushu68 2014-07-17
  • 打赏
  • 举报
回复
另外在服务器端除了用户ID外的其它用户相关变量(比如用户的上一次操作时间),是放在缓存里好还是用Session好啊?

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧