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=""
/>

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

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

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

  1. Asp.Net保存session的三种方法 (Dll文件更新导致session丢失的解决办法)

    1. InProc模式(默认值):asp.net将session保存到当前进程中,这种方式最快,但是不能多台服务器共享session,且会话状态数据容易丢失. <sessionState mod ...

  2. python对MySQL进行添加修改删除以及字符串的操作

    # coding=UTF-8 import MySQLdb def dbDperate(sql,param): "定义数据库的添加,修改和删除操作" #获取数据库的连接对象 con ...

  3. asp.net 实现搜索站内搜索功能

    首先有index和search 两个页面 index页面中有textbox1和button1两个控件 双击button1控件添加代码: protected void Button1_Click(obj ...

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

    ASP.NET2.0系统时,在程序中做删除或创建文件操作时,出现session丢失问题.采用了如下方法:1.asp.net Session的实现:asp.net的Session是基于HttpModul ...

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

    转自[http://blog.csdn.net/high_mount/archive/2007/05/09/1601854.aspx] 最近在开发一ASP.NET2.0系统时,在程序中做删除或创建文件 ...

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

    项目地址:http://www.freeteam.cn/ 站内信 1.1.1 写信 从左側管理菜单点击写信进入. 输入收信人.标题.内容后点击发送button. 1.1.2 收件箱 从左側管理菜单点击 ...

  7. ASP.NET Session丢失的情况

    正常操作情况下会有ASP.NET Session丢失的情况出现.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的. 现在我就把原 ...

  8. ASP.NET Session丢失的解决方案

    正常操作情况下会有ASP.NET Session丢失的情况出现.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的.现在我就把原因 ...

  9. ASP.NET Session丢失问题原因及解决方案

    正常操作情况下会有ASP.NET Session丢失的情况出现.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的. ASP.NE ...

随机推荐

  1. NuGet 发布

    其实吧,我并没有用到nuget发布,但是在做项目的过程中,我需要别的系统给我接口,所有吧,人家就发 布了了一个nuget程序集,而我呢,就引用了一下,然后就可以用了,又不吧,本人小编好奇心比较重,所以 ...

  2. HTML的格式、内容容器、表格标签

    HTML(Hyper Text Markup Language,超文本标记语言)超指的是超链接. <html>    --开始标签 <head> 网页上的控制信息 <ti ...

  3. Jmeter之参数化(五)

    Jmeter用函数(__Random)批量添加的用法 首先点击  选项----->函数助手对话框-----> 这个是随机取值的意思 在这边输入取值的范围  然后点生成 即可 例如  从 数 ...

  4. 在Activity中响应ListView内部按钮的点击事件

    最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在Adapter中响应? 对于这个问题,我最初给他的解答是,在Adapter中定义一个回调接口,在A ...

  5. Android 蹲坑的疑难杂症集锦一

    各位看官老爷子你们好,我就是那个挖坑不埋,还喜欢开新矿的小喵同志. 问大家一个问题,在Github上找项目的时候,看到中文简介说明你们是不是觉得这个项目很low不屑一顾? 最近朋友无意中说,在Gith ...

  6. 深入理解KMP算法

    前言:本人最近在看<大话数据结构>字符串模式匹配算法的内容,但是看得很迷糊,这本书中这块的内容感觉基本是严蔚敏<数据结构>的一个翻版,此书中给出的代码实现确实非常精炼,但是个人 ...

  7. SpringMyBatis解析1-使用示例

    MyBatis使用介绍 MyBatis的详细使用介绍  http://www.cnblogs.com/xrq730/category/796495.html 建立PO public class Per ...

  8. DSP using MATLAB示例Example3.6

    代码: n = [-5:5]; x = (-0.9).^n; % x(n) = k = -200:200; w = (pi/100)*k; % [0,pi] axis divided into 101 ...

  9. XAML数据绑定(Data Binding)

    XAML数据绑定(Data Binding)   Data Binding可以使得XAML标签属性的赋值更为灵活和方便.在绑定过程中,获取数据的标签成为目标标签:提供数据的标签成为源标签.在XAML中 ...

  10. debug note-- nginx php-fpm : Error:The page you are looking for is temporarily unavailable.

    1.在ubuntu下安装配置nginx, mysql, php 安装步骤: 参考:https://www.digitalocean.com/community/tutorials/how-to-ins ...