代码之家  ›  专栏  ›  技术社区  ›  Tomas Vana

如何在ASP.NET应用程序中处理临时文件

  •  4
  • Tomas Vana  · 技术社区  · 15 年前

    最近,我正在我们的web应用程序中显示工作流图图像。我设法使用重新注册的WF designer并在服务器上动态创建图像,但想象一下工作流图可以很快变大,我想通过使用一些ajax控件来显示支持缩放的图像,从而提供更好的用户体验;平移功能。

    我碰巧看到了我的网站 seadragon ,这似乎是我可以使用的一个惊人的作品。只有一个缺点-为了使用他们的库生成图像的深度缩放版本,我必须使用服务器上的文件结构。由于我使用的图像是临时性的(带有进度指示器的工作流图),因此,重要的是不仅要能够创建这样的图像,还要在一段时间后将其清除。

    3 回复  |  直到 15 年前
        1
  •  3
  •   BinaryMisfit    15 年前

    我们在创建PDF报告时也做了类似的事情,发现最简单的方法是使用时间戳检查来确定文件的“旧”程度,然后根据一段时间(在我们的例子中,超过2小时)删除它们。这是在创建下一个PDF文档之前完成的,但也是创建过程的一部分。我们还创建了一个特定的文件夹,并授予ASP.Net用户对该文件夹的读/写权限。

        2
  •  1
  •   womp    15 年前

    AptudioType和ApdioType只会每次启动一次,所以如果您需要更好的清理,我会考虑使用缓存结构或简单的Windows服务来处理清理。

        3
  •  0
  •   Neil N HLGEM    15 年前

    首先,您必须确保您的IIS工作进程有权从缓存目录(而不是站点的其余部分,以防万一)写入/删除文件

    相反,我会制定一个计划流程,可能每小时运行一次,或者每天运行一次,这取决于您想要什么。并让它检查缓存中的每个图像有多旧,如果它比您的任意“expiure time”旧,则将其删除。

    除此之外,没什么大不了的。