科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件关于ASP.NET 2.0的目录结构变化

关于ASP.NET 2.0的目录结构变化

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ASP.NET 2.0是采用动态编译机制的了,也就是只要添加ASPX文件和相应的CS后台代码文件,不再需要进行编译,就可以运行了。

作者:中国IT实验室 来源:IT专家网 2008年4月11日

关键字: 结构 目录 asp net Windows

  • 评论
  • 分享微博
  • 分享邮件
我在开发中,遇到了这个问题,所以把解决的方案给大家分享一下。希望对一些遇到同样问题的朋友有所帮助。

  ASP.NET 2.0是采用动态编译机制的了,也就是只要添加ASPX文件和相应的CS后台代码文件,不再需要进行编译,就可以运行了。

  ASP.NET 2.0会去动态的编译进行。而这种带有“监控”色彩的机制虽然带来很多好处。

  很明显的,要是app_code里的代码有变化、或者Bin目录里的文件有变化,Web.Config有变化,都会导致Application重启。这些都可以理解的。

  不可理解的是“当有目录被删除时”时也会导致Application重启,这就会让Session失去了。我曾试图放到App_data里,以为App_Data是ASP.NET唯一的净地。结果让我失望了。在App_Data里,有“删除目录”的操作,同样会Application重启。

  网上有好多人遇到这样的问题。有人建议是采用“进程外”的Session.但这种设置毕竟是有点麻烦的。我可懒得去动。具体的方法可以参考:http://www.cnitblog.com/seeyeah/archive/2007/01/20/22089.html

  但我找到了另一种更好的变通的方式:

  就是在应用项目的目录外面建一个“目录”,比如在C:\下建个MyWebTemp目录。

  然后在IIS里的应用项目里建一个“虚拟目录”指向这个“C:\MyWebTemp”上。

  然后记住要把足够的权限给赋上,比如:IUSR_XXXX,NetWork等赋上读写权限。

  现在好了,你可以在你的应用项目里,对"./MyWebTemp"的目录进行文件操作了。添加子目录、删除子目录都无所谓了。

  其实原理很简单的,就是ASP.NET会对应用项目的目录结构进行监控,一旦有“目录删除 ”就重启。那么,只要MyWebTemp不在他的目录结构监控范围里就可以了。

  这种文法比较简单,可能不是最佳的方案,不过能应付就可以了:)希望能有更简单、易行的方案出来。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章