Chrome 正在检索旧代码,甚至清除所有历史记录

Chrome is retrieving old code, even clearing all history

我有一个网站,它使用外部 dll 代码。

dll 不是网站的一部分。 (是Dynamics AX 2012 CIL,不过我觉得无所谓)

该网站有 dll,在 Rest 技术中使用该代码(我将 MCV4 用于 VS 2010,将 Rest API 客户端工具用于 chrome)。

代码运行正常,但是当我进行一些更改时,更改没有反映在站点上(我看到代码的旧行为)。

我清除了 chrome 中的所有历史记录 - 同样的问题。

对于我自己的用户:当我安装 Firefox + 用于 Firefox 的 Rest 工具时 - Firefox 可以正常工作(更改反映在网站上)。对于 Chrome - 我仍然有问题。

特定用户会出现这种情况(其他用户 - 完全没有任何问题)。

所以,我认为这可能是 web.config 上的一些声明,它们在服务器和浏览器之间使用缓存。

我说得对吗?服务器和浏览器之间的缓存是怎么调用的?

这是 chrome 中的问题,还是我需要在 web.config(或 C# 中)声明的内容?

我如何声明仅当我将新代码上传到站点时才会刷新缓存(web.config 上的特定时间戳或类似的东西)?

我在webapiconfig.cs中的代码(它是VS 2010的MCV4):

    public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
        FormUrlEncodedMediaTypeFormatter f;
        config.Formatters.Clear();
        config.Formatters.Add(new JsonMediaTypeFormatter());
        f = new FormUrlEncodedMediaTypeFormatter();
        f.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/x-www-form-urlencoded"));
        config.Formatters.Add(f);
    }
}

在C#或者输出缓存IIS配置中应该写什么,如现场: http://www.iis.net/learn/manage/managing-performance-settings/walkthrough-iis-output-caching#05

谢谢:)

DLL 在服务器上运行,因此您需要清除的是服务器缓存,而不是浏览器缓存。

你说的是 C#,所以我猜你在使用 IIS

单击服务器名称,然后转到输出缓存。 单击添加缓存规则,然后键入扩展名 - .dll

并按照提示禁用此扩展程序的缓存。