【发布时间】:2015-01-08 16:23:41
【问题描述】:
我们已将各种站点更新到 MCV4 版本,同时我们利用了使用 dll System.Web.Optimization 创建 Bundle 的能力。一切正常。
但是,我们有以下问题: 当调用 javascript 时,应用程序的捆绑包分配大约 50 MB RAM,而不释放它。捆绑包中包含的 javascript 总大小约为 2 Mb。
注意: 我们在全局asax中创建Bundles,事件“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") %>
编辑: 执行以下行时,会使用额外的 50mb 内存
<%:
Scripts.Render("~/Scripts/all.js")
%>
有没有其他人遇到过这个问题?有什么减少这种内存消耗的建议吗?
【问题讨论】:
-
@Mediator 你有没有找到解决方案?
-
您的应用程序是如何部署的?它是在单个服务器上,还是在使用像 azure 这样使用分布式缓存的服务?另外,您使用的是哪个版本的 MVC 网络优化?
-
@Jack 版本 1.1 - 单服务器,没有天蓝色。在生产中,我们使用网络花园,但我在只有 1 个 w3wp.exe 进程的本地系统上看到了这个问题
-
@DaveA 问题在发布模式和调试模式中普遍存在 - 使用 System.Web.Optimization 1.1 版。
标签: asp.net-mvc bundle