【问题标题】:Why an ASP.NET web site gets recompiled when renaming or deleting a folder inside为什么 ASP.NET 网站在重命名或删除其中的文件夹时会重新编译
【发布时间】:2011-02-11 13:40:54
【问题描述】:

我在 ASP.NET 网站(不是 Web 应用程序)中开发了一个简单的文件管理器。

我注意到每次重命名或删除文件夹时,网站都会重新编译 - 即删除或重命名操作后的下一个 Web 请求需要相当长的时间来执行。

这仅适用于文件夹,不适用于文件。 为什么会出现这种情况?

附:我使用 WebDev 服务器 (Cassini),尚未在 IIS 上进行测试。

更新:同样的灾难发生在 ASP.NET MVC Web 应用程序中:(

更新 2:以下是类似的讨论:

【问题讨论】:

  • 这些文件夹是否包含任何文件?
  • mxmissile:不,到目前为止我只尝试了文件夹
  • 创建一个小项目并部署到 IIS。您是否遇到过同样的行为?
  • Raj Kaimal:是的,一样。你能重现它吗?

标签: asp.net web


【解决方案1】:

Asp.net 监视文件夹,然后运行编译以跟上您所做的任何更改。为了克服这个问题,您可以使用不可更新的完整预编译,您可以阅读有关 here 的信息。

【讨论】:

  • 它仍在你身上重新编译或者它不允许你创建文件夹?另外我刚刚注意到您正在使用开发服务器。这很可能是问题的一部分。也许在 IIS 上尝试一下,看看它是否仍在重新编译。
  • BigJason:在 IIS 上相同,在所有类型的 Web 应用程序上都相同,您删除或重命名 forder 和应用程序会被回收。
【解决方案2】:

您应该将文件夹移到项目结构之外,并且可能使用 IIS 中的虚拟文件夹来保留路径。这不仅可以防止重新编译,还可以使更新代码和备份用户文件更容易,因为它们将被分开。

【讨论】:

    【解决方案3】:

    您要创建的文件夹在哪里?在 App_Data 下?

    【讨论】:

    • 不,~/存储。这些文件和文件夹必须在网络上可用。
    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 2015-10-08
    • 2018-10-11
    • 1970-01-01
    • 2013-04-05
    相关资源
    最近更新 更多