asp.net 修改/删除站内目录操作后会导致Session丢失

http://www.jb51.net/article/21770.htm

http://blog.chinaunix.net/uid-7425507-id-134216.html

在Web项目中使用 Directory.Move(olddir,newdir)修改目录名称或使用Directory.Delete(true)删除目录后, 发现Session都失效。

如果删除改变的目录不属于当前项目所在虚拟目录,则Session可用,相反则不可用;调试跟踪中提示的:Session.get_item()……返回null;
在虚拟目录删除改变目录会造成Session丢失,以至于失效。而session丢失的实质就是:应用程序重起!

这里有多种解决方案:
1)利用外部进程保存 session
2)利用数据库保存 session
3)用户ID放入cookie,若检测到session为空但cookie存在在重新初始化 session.
4)将要对其进行操作的目录移出asp.net程序外

第一种,操作如下:
1. 首先启动"ASP.NET 状态服务",如果这个服务不启动,后面的更改不会起作用。

如果要启用StateServer中的Session状态,首先要在”控制面板”--“管理工具”--“服务”中,启用ASP.NET State Services(ASP.NET 状态服务),并将此服务设置为Automatic(自动启动)

2. 在Web.config中修改<sessionState/>配置如以下代码所示

除了在web.config文件中设置mode属性为StateServer外,还必须设置运行StateServer服务器的IP地址和端口号.如果IIS所在的机器运行StateServer则IP地址就是127.0.0.1,端口号通常是42424.配置如下

<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="40"
/> 

完成上面两点,就算是IIS重启动了,只要客户端的浏览器标示没变化,session就还有效.

3.如果以上设置还是无效的话,需要修改一下注册表:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters]
"AllowRemoteConnection"=dword:00000001000

时间: 2024-10-18 18:18:16

asp.net 修改/删除站内目录操作后会导致Session丢失的相关文章

删除三星内置输入法后千万不要加密设备

三星手机root后,不少用户会删除三星内置输入法而去选择安装第三方输入法.过后,用户可能又想试一下"加密设备"功能,要加密设备首先要设置密码,设置密码就需要键盘.加密设备后,以后手机开机都需要输入密码了.但问题是,在输入开机密码前,第三方输入法也被加密了,自然第三方输入法就加载不了.而要开机就必须输入密码,那么就导致无键盘可输入密码,因为你已经把原厂内置的输入法给删除卸载了! 猜想一下,卸载一些内置应用后再加密设备会出现一些什么现象?加密设备会加密除系统应用外的第三方应用,那么会导致第

0913 完整修改,删除-实体类-数据操作类

<完整修改删除> 昨天我们使用c#访问数据库会有很多弊端,如果数据库中没有这一条信息也会返回删除成功 今天完整修改删除就会克服这个困难 第一步 需要先查询 #region 查询                Console.WriteLine("学号" + "\t" + "姓名" + "\t" + "性别" + "\t" + "    " + "

vue删除表格内的数据后局部刷新页面

遇到的问题:如标题. https://www.cnblogs.com/Yachne/p/11864523.html 上面博客,第一眼没看太懂,所以打算整理一下 解决思路:把调用api,加载数据做成一个方法(onSeach),用created初始化,再在删除/添加方法里重新加载该方法(onSeach),这样就实现了页面局部刷新页面. 另有两个方法会刷新整个页面,造成短暂空白,不太建议用. location.reload() this.$router.go(0) 把加载页面数据的请求做成一个方法 这

ASP.NET 状态服务 及 session丢失问题解决方案总结

ASP.NET2.0系统时,在程序中做删除或创建文件操作时,出现session丢失问题.采用了如下方法:1.asp.net Session的实现:asp.net的Session是基于HttpModule技术做的,HttpModule可以在请求被处理之前,对请求进行状态控制,由于Session本身就是用来做状态维护的,因此用HttpModule做Session是再合适不过了.ASP.NET中Session的状态保持方式  ASP.NET提供了Session对象,从而允许程序员识别.存储和处理同一个

[转]ASP.NET 状态服务 及 session丢失问题解决方案总结

转自[http://blog.csdn.net/high_mount/archive/2007/05/09/1601854.aspx] 最近在开发一ASP.NET2.0系统时,在程序中做删除或创建文件操作时,出现session丢失问题.在网上搜了不少资料,最后终于解决了,采用了如下方法: 1.asp.net Session的实现: asp.net的Session是基于HttpModule技术做的,HttpModule可以在请求被处理之前,对请求进行状态控制,由于Session本身就是用来做状态维

ECShop后台修改站内快讯数量及首页精品推荐等显示个数设置

这节说下ECShop两个简单的设置,第一个是首页站内快讯显示数量的修改 这个可以从后台--系统设置--商店设置--显示设置,找到"最新文章显示数量",然后修改此项的参数,就可以修改首页站内快讯的显示数量. 第二个数关于首页的精品推荐,新品上市,热卖商品 这三项的显示商品个数的设置 这个从后台--模板管理--设置模板: 找到 "精品推荐.新品上架.热卖商品"这三个,修改对应的参数即可. 今天说的这两个还是比较简单的,高手可以直接绕道. 这一节就先到这里吧.

开源 免费 java CMS - FreeCMS2.1 会员站内信

项目地址:http://www.freeteam.cn/ 站内信 1.1.1 写信 从左侧管理菜单点击写信进入. 输入收信人.标题.内容后点击发送按钮. 1.1.2 收件箱 从左侧管理菜单点击收件箱进入. 查看站内信 点击标题可以查看站内信详细内容. 删除站内信 选择站内信然后点击删除按钮可以完成删除操作. 为了防止误操作,系统会提示用户是否删除,点击"确定"完成删除操作. 1.1.3 发件箱 从左侧管理菜单点击发件箱进入. 查看站内信 点击标题可以查看站内信详细内容. 删除站内信 选

开源 java CMS - FreeCMS2.3会员站内信

原文地址:http://javaz.cn/site/javaz/site_study/info/2015/30531.html 项目地址:http://www.freeteam.cn/ 站内信 写信 从左侧管理菜单点击写信进入. 输入收信人.标题.内容后点击发送按钮. 收件箱 从左侧管理菜单点击收件箱进入. 查看站内信 点击标题可以查看站内信详细内容. 删除站内信 选择站内信然后点击删除按钮可以完成删除操作. 为了防止误操作,系统会提示用户是否删除,点击"确定"完成删除操作. 发件箱

新站SEO通过百度站内搜索建立索引之我见

虽说现在360搜索的势头非常强劲,但是百度凭借着高居50%以上的市场份额依旧是国内各大中小站长SEO最为重视的搜索引擎.然后,随着市场格局的不断变化,百度对站长的态度也越趋于明朗化,从推出站长平台到站内搜索,都在进一步的示好广大站长. 当然,想成为一名合格的SEOer,首先你必须对各主流搜索引擎的站长平台中所提供的工具了然于胸.然后,你才有资格在大家面前谈所谓的SEO.今天,鄙人也站在一位新手站长的角度,谈谈工具之一的百度站内搜索对于新站的好处. 一个站点,如果连索引量都建立不起来,然后你来跟我