如何清除iis中的服务器缓存

dib*_*487 9 asp.net iis caching

我在 Windows 上有一个 asp.net 网站,其中包含永远不会更改的文件的顶级服务器端缓存。不出所料,文件已更改。如何重置服务器端缓存?我已经在代码中看到了很多如何做到这一点,但我不想添加一个新页面来清除缓存,除非我也有。IISreset 或 box reset 将清除缓存,但这是相当激烈的。应用程序池会回收吗?应用程序池设置为在空闲超时后终止,这可能会在一夜之间发生,这会清除缓存吗?

代码是:

using WebApi.OutputCache.V2;

namespace Foo.Web.API.Controllers
{
    public class BarController :  ApiController
    {
        [HttpGet]
        [CacheOutput ServerTimeSpan = 31536000)]
        public HttpResponseMessage Get(string organisationId, string file)
        {
Run Code Online (Sandbox Code Playgroud)

N73*_*73k 8

我不得不删除这里的文件。这就是对我有用的全部。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

  • 我相信只有当您在本地开发和调试 ASP.NET 应用程序时,才会将文件添加到这些文件夹中。当您只是在 IIS 上托管 ASP.NET 网站时,不会将任何文件添加到这些文件夹中。 (2认同)

小智 6

两者都清除缓存。回收应用程序池不那么​​激烈,因为它会继续处理已经收到的请求和之后的循环。这可以在负载下完成 - 从来没有问题。

  • 重置应用程序池对我不起作用。IIS 仍然提供旧的 cshtml 页面。 (3认同)