asp.net 删除服务器上的文件系统,解决ASP.NET应用程序删除文件的问题

烈火建站学院(LieHuo.Net)服务器管理自从ASP.NET 2.0诞生就给我们项目带了一个很严重的问题,删除文件和目录会触发ASP.NET应用程序重新启动。直到ASP.NET 3.5一直认为微软会解决这个问题,解决发现还是没什么希望。ASP.NET 3.5只是采用了新的机制让在处理的线程不会中止,但下一个新的请求将会创建一个新的应用程序域,现有的应用程序域将维持到现在和在队列中排队的请求处理后再销毁。变相解决了应用程序重新启动给客户端带来的不快,但是也没有解决会话状态变量丢失的问题。

在进行ASP.NET 2.0应用程序开发的时候,项目组采取的不办法如下:

在Web应用程序目录外创建临时文件夹;

在IIS中将临时文件夹创建为虚拟目录;

在Web应用程序中添加虚拟目录指向临时文件夹的物理地址。

这样做有一个缺点,就是需要在配置文件中记录临时文件夹的应用程序路径(~/Temp)和物理路径(c:\temp);因为文件读写需要物理路径,而文件在IE中直接表示需要应用程序路径转换为相对URL路径。还有,这个解决方法因为没有在系统级别解决问题,所以在我们使用VS2005宿主应用程序时就无法进行调试。

今天看了老外一篇文章,发现Windows Resource Kit中居然有命令行工具可以解决这个问题,此工具名为linkd使用方法如下:

linkd c:\temp c:\wwwroot\webapp\temp

这样当你访问c:\wwwroot\webapp\temp或进行读写的时候,直接反映到c:\temp目录中,而且因为系统监视程序监视的实际物理路径而不是映射路径所以不会引起ASP.NET应用程序重新启动。

这样就可以解决在VS宿主下的调试问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值