快捷搜索:

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

我在开拓中,碰到了这个问题,以是把办理的规划给大年夜家分享一下。盼望对一些碰到同样问题的同伙有所赞助。

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不在他的目录布局监控范围里就可以了。

这种文法对照简单,可能不是最佳的规划,不过能敷衍就可以了:)盼望能有更简单、易行的规划出来。

您可能还会对下面的文章感兴趣: