3

我的 ASP.Net 应用程序曾经在请求期间意外重启,破坏了我的状态、会话数据等。我确定问题是由一个控件引起的,该控件在文件夹中写入和删除了Temp它在文件夹附近创建的一些文件bin,所以 web 目录看起来像这:

bin
Temp
....
Default.aspx    
web.config

ASP.Net 显然对Temp文件夹内的更改作出反应,就像它对 web.config 内部bin或 web.config 中的更改作出反应一样——它重新启动应用程序。

Temp我可以通过将站点目录移到外部来部分解决问题。这样,每次写入\删除临时内容时,应用程序都不会重新启动,因此这部分运行良好。问题是Temp目录中的一些文件应该可以通过网络访问——比如动态生成的图像等。


所以我的问题实际上是三方面的:

  1. 即使更改不是在bin目录中进行,而是在同一级别的另一个目录中进行,ASP.Net 应用程序是否应该重新启动?还是我的配置有问题?
  2. 我在哪里以及如何创建一个临时文件夹,以便它可以通过网络访问,但不会导致应用程序重新启动?
  3. 如何从代码或 web.config(在 IIS 和 ASP.Net 开发服务器中)关闭目录更改时的重新启动?
4

1 回答 1

1

根据我的理解,这里是您问题的答案:

  1. 当在内容目录之一中更改太多文件时,ASP.NET 会重新启动应用程序。有关应用程序重启时的更多信息,请阅读:http ://programming360.blogspot.in/2009/04/what-c​​auses-application-restart.html
  2. 您可以在同一台机器或不同机器(文件共享)的任何位置创建临时文件夹,只要 IIS 用户有权访问它应该正常工作的文件夹。您唯一需要考虑的是文件夹位于另一台计算机上时的延迟。
  3. 我不相信您可以控制应用程序重新启动,这完全由 IIS 控制。 可能想阅读这个 SO 问题:创建、重命名或删除文件夹时 ASP.NET 重新启动
于 2012-06-22T07:33:33.310 回答