使用File.Exists(path)判断 但有很多文件....

moonwrite 2009-03-27 06:16:41
最近网站上出现一个问题:

网页上有一个按钮 点击它后 开始根据数据库创建aspx文件
但运行大约6分钟后 页面弹到登陆页面了


我不知道为什么会这样

看创建aspx文件的代码
在创造新的文件之前使用File.Exists(path)判断 products这个文件中是否已经存在同名文件
但products里面有70000多个文件了

我想是不是因为文件太多 所以太占用内存





...全文
471 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonwrite 2009-03-28
  • 打赏
  • 举报
回复
人工顶贴~~~~
wuyq11 2009-03-27
  • 打赏
  • 举报
回复
删除很多文件导致超时。通过多线程实现。
moonwrite 2009-03-27
  • 打赏
  • 举报
回复
--是不是你把错误页面定位到登录页面了,因此出现异常才跳到登录页面?

不是 错误是通过try catch 然后把异常通过Lable.Text来显示的

liudanking 2009-03-27
  • 打赏
  • 举报
回复
友情帮顶
moonwrite 2009-03-27
  • 打赏
  • 举报
回复
--能不能用GUID最为文件名,或者把Guid放到文件名中,这样就不会重名,不用判断了。
不能用GUID 因为是外国网站 URL很重要 好像可以提高被google搜索

Session超时
不太可能~我把Session设置为一个小时了

应用程序池超时
这个不了解

还有,点下按钮后,可以使用异步来创建aspx文件,让Tread在后台运行就可以了。
多线程不懂----可以介绍一些资料看吗

跟具体的内容可以看看这一贴http://topic.csdn.net/u/20090327/11/8d1ce347-a042-4731-ba82-4130d2491cba.html
hb0513 2009-03-27
  • 打赏
  • 举报
回复
学习哈
jdxx 2009-03-27
  • 打赏
  • 举报
回复
有可能是Session超时或者应用程序池超时。

2楼的方法不错,这样可以避免用File.Exists(path)来判断。因为File.Exists 需要读取硬盘,所以效率很低的。如果LZ不能使用Guid来做文件名的,建议在一个数据库中存贮所有的文件名,在数据库中进行判断。

还有,点下按钮后,可以使用异步来创建aspx文件,让Tread在后台运行就可以了。
宝_爸 2009-03-27
  • 打赏
  • 举报
回复
但运行大约6分钟后 页面弹到登陆页面了。
--是不是你把错误页面定位到登录页面了,因此出现异常才跳到登录页面?

在创造新的文件之前使用File.Exists(path)判断 products这个文件中是否已经存在同名文件
但products里面有70000多个文件了

我想是不是因为文件太多 所以太占用内存

--能不能用GUID最为文件名,或者把Guid放到文件名中,这样就不会重名,不用判断了。

像csdn论坛的页面就是用GUID做文件名:
http://topic.csdn.net/u/20090327/18/b970962e-5834-41de-85cf-8db83e1f6ac6.html
wsbgy 2009-03-27
  • 打赏
  • 举报
回复
帮顶!

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧