您的位置:首页 > 编程语言 > ASP

asp.net下修改文件系统带来的副作用及其解决方法

2010-01-08 00:09 225 查看
今天的任务是能够在asp.net下建立文件系统,也就是能够在asp.net的虚拟目录下建立文件夹、文件、修改文件夹、文件、删除文件夹、文件等。建立文件夹、文件很顺利,没有遇到任何问题,直接用Directory静态类就可以做了。

但是,在删除、修改文件夹及文件的时候遇到了奇怪的问题:每次操作以后Session都会被清空,上网一搜,发现是asp.net监控文件系统造成的:一旦asp.net的虚拟目录下有删除或改动文件系统的动作时,asp.net就会重新启动。不仅仅是Session没有了。

网上也有解决方法,就是写到本地Cookies里面,然后下次再读。我个人不是很喜欢用Cookies,除了Login和其它一些需要长时间需要保存的内容,不可能任何数据因为Session要清除就不用Session了。我在SQL Server上写了三个存储过程“userp_select_session_with_username_and_time","userp_insert_session","userp_delete_session_with_username"。

在编写程序的时候,当需要对文件系统进行操作的时候,首先将用户的Session数据存入数据库,然后再对文件系统进行操作,等页面刷新的时候,如果Session中没有元素,就从数据库中查询,根据time,一般设定为15分钟,如果是很短的时间间隔,就将Session从数据库中提出并放入Session中,如果大于该时间间隔,就通过程序本身的Session默认数据对Session进行初始化。个人感觉这样比较合理。

如果大家有其它更好的想法,欢迎讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: