码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-04-21 16:01:46      阅读:422      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!