14

さまざまなサイトをバージョン MCV4 に更新し、同時に、dll System.Web.Optimization でバンドルを作成する機能を活用しました。すべてが機能します。

ただし、次の問題があります。javascript が呼び出されると、アプリケーションのバンドルが約 50 MB の RAMを割り当てますが、解放されません。バンドルに含まれる JavaScript は、合計で約 2 MB あります。

注: グローバル asax、イベント「Application_Start」でバンドルを作成します。

   protected virtual void Application_Start()
        {

        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterBundles(BundleTable.Bundles);
        RegisterRoutes(RouteTable.Routes);
    }



 protected virtual void RegisterBundles(BundleCollection bundles)
        {
        bundles.Add(new StyleBundle("~/content/all.css").Include(
                    "~/content/site.css"
                    ));

        bundles.Add(new StyleBundle("~/content/themes/base/base.all.css").Include(
                    "~/Content/themes/base/jquery-ui-1.8.23.custom.css",
                    "~/content/themes/base/kendo.common.css",
                    "~/content/themes/base/kendo.totalcom.css",
                    "~/Content/themes/base/jquery.contextmenu.css",
                    "~/content/themes/base/tipsy.css",
                    "~/content/themes/base/jquery.ibutton.css"
                    ));

        bundles.Add(new ScriptBundle("~/Scripts/all.js").Include(
                "~/Scripts/jquery-1.8.2.js",
                "~/Scripts/modernizr-1.7.js",
                "~/Scripts/jquery-ui-1.8.22.custom.js",
                "~/Scripts/jquery.validate.js",
                "~/Scripts/jquery.validate.unobtrusive.js",
                "~/Scripts/jquery.unobtrusive-ajax.js",
                "~/Scripts/conditional-validation.js",
                "~/Scripts/fileuploader.js",
                "~/Content/tiny_mce/jquery.tinymce.js",
                "~/Scripts/kendo.all.js",
                "~/Scripts/kendo.aspnetmvc.js",
                "~/Scripts/jquery.contextmenu.js",
                "~/Scripts/jquery.tipsy.js",
                "~/Scripts/jquery.checkradio.js",
                "~/Scripts/jquery.metadata.js",
                "~/Scripts/jquery.ibutton.js",
                "~/Scripts/jquery.easing.js",
                "~/Scripts/functions.js",
                "~/Scripts/Erp.js",
                "~/Scripts/Cms.js"
            ));
    }

バンドルはマスターページで呼び出されます

<%: Styles.Render("~/Content/all.css") %>
<%: Styles.Render("~/content/themes/base/base.all.css") %>
<%: Scripts.Render("~/Scripts/all.js") %>

EDIT:次の行が実行されると、余分な50MBのメモリが使用されます

<%:
Scripts.Render("~/Scripts/all.js")
 %>

他の誰かがこの問題に遭遇しましたか? このメモリ消費を減らすための提案はありますか?

4

2 に答える 2

0

最適化を有効にしてください

public static void RegisterBundles(BundleCollection bundles)
{
    // your bundling goes here

    BundleTable.EnableOptimizations = true;
}
于 2014-09-26T09:28:28.920 に答える