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进行初始化。个人感觉这样比较合理。
如果大家有其它更好的想法,欢迎讨论。
但是,在删除、修改文件夹及文件的时候遇到了奇怪的问题:每次操作以后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进行初始化。个人感觉这样比较合理。
如果大家有其它更好的想法,欢迎讨论。
相关文章推荐
- asp.net 获得文件属性中的修改时间,获得系统文件属性的方法,最后一次写入时间
- asp.net实现访问局域网共享目录下文件的解决方法
- Asp.Net 之 未能加载文件或程序集 system.web.extensions 解决方法
- ASP.NET 2.0中母版页中引用文件路径的问题(对原处理方法中的bug进行了修改)
- asp.net上传大文件解决方法
- asp.net 在IIS下操作Excel文件权限不足的解决方法
- asp.net .ashx,cs文件使用server.mappath解决方法
- Asp.NET导出Excel文件乱码解决若干方法
- ASP.NET 使用ajaxupload.js插件出现上传较大文件失败的解决方法
- 解决 Asp.Net Forums 与现有Web系统 统一登录的方法(:--))
- asp.net .ashx文件使用Server.MapPath解决方法
- asp.net下CKFinder IE浏览器中上传图片文件时提示“无效文件名或文件夹名称”的解决方法(原创文章)
- asp.net .ashx,cs文件使用server.mappath解决方法
- Asp.NET导出Excel文件乱码 终极解决方法
- asp.net .ashx,cs文件使用server.mappath解决方法
- asp.net 在IIS下操作Excel文件权限不足的解决方法
- asp.net上传文件时提示,不支持给定路径的格式解决方法
- asp.net上传文件时提示,不支持给定路径的格式解决方法
- asp.net中动态修改配置文件的方法
- ASP.NET AJAX 中 UpdateProgress 的瑕疵及其解决方法