【问题标题】:What is the "Temporary ASP.NET Files" folder for?“临时 ASP.NET 文件”文件夹的用途是什么?
【发布时间】:2010-10-01 20:07:26
【问题描述】:

我在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 中发现了这个文件夹并有几个问题。

  • ASP.NET 使用这个文件夹做什么,这里存储什么类型的文件?
  • 文件如何存储在这里,何时更新?
  • 文件夹是否需要任何形式的维护?

【问题讨论】:

  • 如果有人在寻找这个目录,它似乎已经转移到C:\Users\[Username]\AppData\Local\Temp\Temporary ASP.NET Files

标签: asp.net caching


【解决方案1】:

这些就是所谓的卷影复制文件夹。

简单地说……我是认真的:

当 ASP.NET 为 第一次,它复制任何程序集 在 /bin 文件夹中找到,复制任何 源代码文件(例如找到 在 App_Code 文件夹中)并解析 你的 aspx, ascx 文件到 c# 源 文件。 ASP.NET 然后构建/编译 所有这些代码都变成一个可运行的 应用。

这样做的一个好处是它可以防止 .NET 程序集 DLL 的 #(在 /bin 文件夹中)被 ASP.NET 工作进程锁定,从而无法更新。

ASP.NET 监视您网站中的文件更改,并在必要时重新开始整个过程​​。

从理论上讲,该文件夹不需要任何维护,但有时您可能需要删除内容。也就是说,我在一家托管公司工作,我们在每台共享服务器上运行多达 1200 个站点,而且多年来我不必在 250 台左右的机器上碰过这个文件夹。

这在 MSDN 文章Understanding ASP.NET Dynamic Compilation中有概述

【讨论】:

  • 嗨 Kev,我有一个 com dll,它被复制到这个文件夹中,dll 需要在其当前文件夹中的一些配置文件才能执行。我怎样才能确保它们也被复制到这个文件夹中?
  • @robot - 您可能已经找到了答案,但为了将来的读者,您可以使用反射找到 DLL 的“原始”位置,然后以这种方式访问​​配置文件。见stackoverflow.com/a/837501/211627
  • 由于持续集成,该文件夹似乎已为我填满 - 每次部署站点(一天几次)时,都会在文件夹中创建一个新副本 - 到目前为止 29GB。跨度>
  • 作为一个网站托管服务,你可能从来没有碰过这个文件夹,但对于开发者来说,这是迄今为止我们必须处理的最头疼的问题。我花了很多天试图解决应该是微不足道的问题问题,但是 IIS 卷影副本和 Visual Studio 网站样式项目的组合是一场噩梦,我必须每天多次清除此文件夹中的内容。
【解决方案2】:

CLR 在运行时编译时使用它。这是一个指向MSDN 的链接,可以进一步解释。

【讨论】:

    【解决方案3】:

    这就是 asp.net 放置动态编译程序集的地方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-27
      • 1970-01-01
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      相关资源
      最近更新 更多