【问题标题】:How to clear the server cache in iisiis清除服务器缓存的方法
【发布时间】:2018-08-08 09:38:20
【问题描述】:

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

代码是:

using WebApi.OutputCache.V2;

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

【问题讨论】:

    标签: asp.net caching iis


    【解决方案1】:

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

    【讨论】:

    • 当然,但是您丢失了我的站点需要的会话状态,如果空闲关闭清除它,我会尝试。如果确实如此,那么它真的会质疑为什么将服务器缓存设置为一年。
    • 我认为,any 缓存超时一年的原因很难找到。
    • 井缓存在空闲关机后一夜之间被清除。谢谢
    • 重置应用程序池对我不起作用。 IIS 仍然提供旧的 cshtml 页面。
    【解决方案2】:

    我不得不删除这里的文件。这对我有用。

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

    【讨论】:

    • 我相信只有在本地开发和调试 ASP.NET 应用程序时才会将文件添加到这些文件夹中。当您只是在 IIS 上托管 ASP.NET 网站时,不会将任何文件添加到这些文件夹中。
    • @Sagar “临时 ASP.NET 文件”位置包含已编译的 .aspx 文件等中间程序集。
    猜你喜欢
    • 1970-01-01
    • 2016-07-11
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 2015-07-01
    相关资源
    最近更新 更多