首页 > Web开发 > 详细

为什么Asp.Net发布到Linux(mono)下会造成session丢失呢?

时间:2015-04-21 15:59:04      阅读:404      评论:0      收藏:0      [点我收藏+]

在工作中,我需要将用VS2010开发Asp.Net项目发布到Linux下,Asp.Net是.Framework 4.0.0,Linux是mono 3.10.0+jexus 5.6.3;

当我发布到IIS下,一切正常;

但是,当我发布到Linux下,就出问题了,可以登录进入系统,当你再对其他页面进行操作时,又会重新跳转到登录页面,这是为什么呢?

我在每个页面都加了权限,如果session不存在,就表示没有登录,就会自动跳转到登录页面,想了一下可能是session丢失了。

在Asp.Net中,如果你不在Web.config手动设置SessionState节点,默认就是InProc,就是所谓的进程内session,session是存在

Web服务器的进程中,我没有设置SessionState节点,默认就是InProc,看了jexus的config,发现httpd.processes=8,问题就是在这里了;

只要把改成httpd.processes=1就一切正常了,如果你觉得进程内session不够用,容易崩溃,可以在Web.config中添加SessionState节点,

将mode设置为StateServer或者SQLServer,具体怎么设置不说了,网上有很详细的资料。

 

为什么Asp.Net发布到Linux(mono)下会造成session丢失呢?

原文:http://www.cnblogs.com/bens/p/4444557.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!