【问题标题】:How to prevent asp.net recompiling when folder deleted from app_data?从app_data删除文件夹时如何防止asp.net重新编译?
【发布时间】:2010-02-01 22:59:26
【问题描述】:

复制: 1.创建一个asp.net网站。 2. 编译并浏览默认页面。保持浏览器打开。 3. 将文件添加到 app_data 文件夹。 4. 刷新默认页面。这应该很快......无需重新编译。 5. 从 app_data 文件夹中删除文件。 6. 刷新默认页面。这应该很快......无需重新编译。 7. 将文件夹添加到 app_data 文件夹。 8. 刷新默认页面。这应该很快......无需重新编译。 9. 从 app_data 文件夹中删除该文件夹。 10. 刷新默认页面。这会很慢,因为站点会重新编译。

  • 这是设计使然吗?如果是这样,这种行为有什么好处?

  • 有没有办法禁用或防止这种情况发生?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    是的,这很时髦,但请查看 Tess 的这篇博客,她是一名 ASP.NET 升级工程师……您会想阅读她关于“为什么应用程序域回收?”的部分。

    苔丝的博客 - http://blogs.msdn.com/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx

    在该部分中,她引用了 Todd Carter 的另一个博客,显然这种行为是为了修复一个错误,该错误涉及阻止提供已删除的内容。

    托德的博客 - http://blogs.msdn.com/toddca/archive/2006/07/17/668412.aspx

    【讨论】:

    • 这些链接很棒。似乎仍然像一个错误。文章提到,该行为是为了防止提供过时的内容。这看起来很棒,但如果我删除一个文件,我不会让应用程序域回收。我很欣赏这些链接。谢谢!
    【解决方案2】:

    根据设计,app_data 文件夹和其他文件夹都是“特殊”的 asp.net 文件夹。如果您要将文件和文件夹删除到文件系统中,您可能不想在任何 asp.net 应用程序文件夹中执行此操作。阅读下面的链接,了解文件夹的详细说明。

    http://aspalliance.com/1202_understanding_aspnet_application_folders

    【讨论】:

    • 如果这是设计使然,那么添加/删除文件和添加文件夹的不同行为。只有删除文件夹会触发此行为。感觉像一个错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多