javascript回发导致的Cachebuster参数?

javascript回发导致的Cachebuster参数?,javascript,asp.net-mvc,asp.net-mvc-4,Javascript,Asp.net Mvc,Asp.net Mvc 4,在一段时间里,我试图弄明白为什么我的网站这么慢。有人正确地回答说,根据下面的Fiddler屏幕截图,我在某个页面上的所有Java脚本都加载了cachebuster参数 据我所知,我对以下Java脚本的所有引用都是普通的,没有任何技巧。有时它们单独包含,有时作为捆绑包的一部分。视图本身是一个相当复杂的仪表板,有许多局部视图和多线程脚本来加载各种不同的小部件。我无法想象为什么有人会想到放一个恶名扫荡器 是否有一些隐藏的tripwire,其中一个程序员可能会意外地绊倒,这将使我们有这个cachebu

在一段时间里,我试图弄明白为什么我的网站这么慢。有人正确地回答说,根据下面的Fiddler屏幕截图,我在某个页面上的所有Java脚本都加载了cachebuster参数

据我所知,我对以下Java脚本的所有引用都是普通的,没有任何技巧。有时它们单独包含,有时作为捆绑包的一部分。视图本身是一个相当复杂的仪表板,有许多局部视图和多线程脚本来加载各种不同的小部件。我无法想象为什么有人会想到放一个恶名扫荡器

是否有一些隐藏的tripwire,其中一个程序员可能会意外地绊倒,这将使我们有这个cachebuster?你知道如何阅读这个Fiddler报告,这样我就能知道哪个视图触发了cachebusters吗

编辑:通过尝试重命名捆绑包及其调用,我发现有问题的文件是
\u Layout.cshtml
。有时它正常加载脚本,有时使用cachebuster。实际代码:

<body id="mainLayout">
@Styles.Render("~/Content/themes/base/css", "~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
... etc ...

最终结果是


实际上,我们已经使用了一种不同的解决方法,重新构造视图并将回发数据作为部分视图返回。因此,要么这样做,要么使用他们建议的解决方案(显式地将缓存设置为true)就可以工作。

我们无法远程调试您的项目。MVC站点打印要包含这些脚本的语句。打印这些语句的方式以及用于绑定的API决定了要设置什么代码或配置值来防止“缓存破坏”。你必须深入研究你的项目。或者你很幸运,有人会识别文件名、参数名或数字格式,并说“哦,你只需要在web.config中将debug设置为false”,但现在我认为它太本地化了。@CodeCaster-我的问题有两个目的:一是找出这是否是一个常见的错误;第二,获取一些关于如何追踪它的提示。我对Java脚本及其包含方式非常不熟悉,所以我希望有人能推荐一种跟踪技术。例如,如果我想的话,我甚至不知道如何将脚本包含在cachebuster中,所以我不知道要查找什么代码!您正在查看哪些文件?system.web.optimization bundling framework附加了一个哈希值,如果文件保持不变,该哈希值应保持不变。如果是剑道,则包含添加这些脚本的代码。@CodeCaster-礼貌性ping-请参阅我的最后一篇文章edit@MartinSmith-礼貌ping-请查看我的上一次编辑
$(document).ready(function () {
    if ('@ViewBag.Loaded' != 'Y') {
        $.ajax({
            type: 'POST',
            url: "/CRCDashBoard/LoadCRCDashboard",
            success: function (data) {
                $("#mainLayout").html(data);
            },
            error: function (jqXhr, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });
    }
    ...
}