如何防止ASP.NET和Kentico处理静态文件

时间:2011-11-01 01:05:38

标签: asp.net webforms kentico

我有一个Kentico CMS网站正在处理静态资源,例如png文件。我希望ASP.NET不处理这些文件。我该怎么做?

我正在使用Kentico CMS(Web窗体)运行IIS 7.5和ASP.NET 3.5。应用程序池是集成模式

我查看了网络配置文件中的<location>元素,但似乎实现它并没有什么区别。

更新:图像包含在名为/ res的文件夹中,该文件夹是webroot文件夹的子项。即不是由kentico管理,媒体库等。通过Visual Studio添加。

编辑:根本问题是我的主页上有很多图像,有时需要很长时间才能加载。在某些情况下,静态图像可能需要一整分钟来加载(绊倒我们的警报)。我不是100%确定导致此问题的原因,这是故障排除的一个步骤。

2 个答案:

答案 0 :(得分:3)

集成模式意味着all requests will participate in the ASP.NET pipeline。我相信静态资源的最终处理程序将是来自IIS的静态文件处理程序,但在提供这些文件之前,您将看到ASP.NET模块和应用程序事件被触发(包括身份验证)。

也许,你应该详细说明你遇到的问题w.r.t ASP.NET&amp;这些文件。通常,您可以为特定路径关闭ASP.NET模块 由于您将这些文件放在子文件夹中,另一种解决方法是将子文件夹作为不同的应用程序,并在经典模式下在不同的应用程序池中提供这些文件。

答案 1 :(得分:2)

如果文件直接放在文件系统上(并且未在Kentico CMS中的媒体库中使用),则Kentico CMS不会处理这些文件。无论如何,如果你想获得更好的性能,你应该考虑通过CMS接口添加它们 - 因此它们将由CMS引擎处理,你可以使用Kentico CMS中提供的缓存选项来提高性能。每次从磁盘加载文件可能并不总是检索文件的最快方法。