网站发布到虚拟主机上,服务器用的IIS7,登陆网站操作,session保存时间好像非常短,经常点击按钮或者是跳转页面时,就是丢失session,我们用IIS5.0发布在公司局域网中运行,从来没有出现过这样的问题。麻烦高手解答一下。
解决方案 »
- 关于xml合法性如何判断
- 用RegisterStartupScript在服务器端调用客户端代码在AJAX页面无效?
- 请问下如何调节Rdlc报表的饼图显示
- 系统部署后,有用户不能使用系统的某些功能
- menu能把鼠标放在父项上自动弹出子项吗(第一次加载)?
- 急!急!急!在使用Enterprise Library的Cache时,怎样利用其中的磁盘驻留型缓存机制?
- apsx修改后台后,前台所有页面自动生成版权,这个怎么改?
- Crystal Report 10 安装密码
- 怎么DropDownList的SelectedIndexChanged事件不响应啊?
- 100分求 断点续传 的WEB实现
- 你们一般用的是那个版本的SQLHelper???
- jquery的facebox怎么接收不到服务器控件的值?
原因:
1.改动global.asax webconfig bin 目录里的东西,导致Web Application重启
2.有些杀毒软件会去扫描webconfig文件,也会导致Session丢失
3.服务器内存不足导致Session丢失
4.程序内部有让Session丢失的代码
5.程序有框架页面和跨域情况
解决:
1.修改webconfig中timeout的时效时间
2.建议让网站使用独立的应用程序池
3.iis设置Session超时时间(默认为20分钟)
4.在应用程序池上打开网站对应的应用程序池属性,将web数量改为1 重启iis
5.在主页里面嵌套一个框架页iframe,设置宽度高度为0.在里面的加载页面里的
<head>里面加入<meta http-equiv="refresh" content="1080">这一句,意思是每隔18分钟向服务器发送一次请求。刚好赶在Session失效之前。这样session就永不失效了
IIS7怎么感觉session随时都会丢,根本没有默认的20分钟,
有时点击按钮操作和页面跳转操作都会丢失session
现在我们是内部测式,挂在一个虚拟主机上的,是个主享服务器,里面有很多网站
这样有什么可能导致session丢失吗? 他用的是IIS7,我们是用VS08开发的。。
也不太清楚是什么问题。我们在内网发布就没有发现过这种问题,发布到这个虚拟机测式,就出现了
这样丢session的问题
改成 <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="20" /ASP.Net的 runat='server' 会对ViewStat进行MAC的加密,使得提交数据时只能对同一页面进行。
1 在接收页加上 @ page EnableViewStateMac="false"
或者 enableEventValidation="false" viewStateEncryptionMode ="Never"
也可以在web.config的节点里加入:
<system.web>
<pages enableEventValidation="false" viewStateEncryptionMode="Never" />
</system.web>
2 配置matchineKey
<system.web>
<machineKey validation="3DES" validationKey="319B474B1D2B7A87C996B280450BB36506A95AEDF9B51211"
decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A87" decryption="3DES"/>
</system.web>
参照:http://www.diybl.com/course/4_webprogram/asp.net/netjs/20090304/158092.html