【问题标题】:minifying signalr hubs auto-generated proxy缩小信号集线器自动生成的代理
【发布时间】:2014-03-18 06:45:58
【问题描述】:

我的应用在 ASP.NET MVC 上使用 SignalR 1.1.2 它在视图中有以下调用

这使用自动生成的集线器。 至此所有客户端和服务器端方法都完成了。

我能否获得粘贴时获得的“hubs.js”文件的副本 链接到浏览器。

我想向 BundleConfig.cs 添加一个新的 javascript 文件,所以我 可以缩小此文件并尝试提高我的应用程序的性能。

希望有人可以建议,我已经做到了,而且似乎有效,我只是 想确保我不会失去换档的能力 websockets、SSE、Forever-Frame 取决于客户端和服务器 可以协商。

【问题讨论】:

    标签: signalr signalr-hub bundling-and-minification asp.net-optimization


    【解决方案1】:

    MVC 网页优化不支持动态脚本。我在上一个项目中就是这样做的,它对缩小没有帮助,但您可以将静态脚本添加到捆绑配置中

    (function ($) {
        var dynamicScripts = ["signalr/hubs", "eventAggregation/events"];
        $.each(dynamicScripts, function () {
            $.ajax({
                url: this,
                cache: true,
                dataType: "script",
                async: false
            });
        });
    } (jQuery));
    

    【讨论】:

    • 非常有趣的代码。我不知道 ajax 可以有一个“脚本”的数据类型。我使用了缓存属性,但从未与此数据类型一起使用。那么 async 属性呢,如果它是真的,这可能有助于阻止任何 ui 线程阻塞吗?
    • 它将使用与静态 JS 文件相同类型的缓存
    • 所以你把这段代码放到一个静态脚本文件中,然后把这个文件添加到bundler?
    【解决方案2】:

    如果您导航到 /signalr/hubs uri,您可以保存此 javascript 文件并将其放入捆绑包中。当然,如果您更改与 signalr 有关的任何内容,则它可能无法正常工作。但这是为了发布。请注意,这个 1.1.2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 2019-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多