我的 ASP.Net 应用程序曾经在请求期间意外重启,破坏了我的状态、会话数据等。我确定问题是由一个控件引起的,该控件在文件夹中写入和删除了Temp
它在文件夹附近创建的一些文件bin
,所以 web 目录看起来像这:
bin
Temp
....
Default.aspx
web.config
ASP.Net 显然对Temp
文件夹内的更改作出反应,就像它对 web.config 内部bin
或 web.config 中的更改作出反应一样——它重新启动应用程序。
Temp
我可以通过将站点目录移到外部来部分解决问题。这样,每次写入\删除临时内容时,应用程序都不会重新启动,因此这部分运行良好。问题是Temp
目录中的一些文件应该可以通过网络访问——比如动态生成的图像等。
所以我的问题实际上是三方面的:
- 即使更改不是在
bin
目录中进行,而是在同一级别的另一个目录中进行,ASP.Net 应用程序是否应该重新启动?还是我的配置有问题? - 我在哪里以及如何创建一个临时文件夹,以便它可以通过网络访问,但不会导致应用程序重新启动?
- 如何从代码或 web.config(在 IIS 和 ASP.Net 开发服务器中)关闭目录更改时的重新启动?