当我发布我的网站debug="false"
模式和BundleTable.EnableOptimizations = true
服务器返回以下异常的捆绑脚本和样式,而请求仅用于非授权请求!但是,如果我运行的应用程序与debug="true"
或在用户登录(通过窗体身份验证在释放模式)的异常不会发生,每变薄工作得很好。捆绑和发布模式问题
我觉得应该有捆绑和认证之间的关系!如例外所示。
有什么不对?
我的捆扎的代码:
public static void RegisterBundles(BundleCollection bundles)
{
StyleBundle bundleStyles = new StyleBundle("~/bundles/styles/");
bundleStyles.Include(
"~" + Paths.Scripts.AdminSkin.css.reset_css,
"~" + Paths.Scripts.AdminSkin.css.common_css,
"~" + Paths.Scripts.AdminSkin.css.form_css,
//do not move this line to blow
"~" + Paths.Scripts.site.css.standard_css,
"~" + Paths.Scripts.AdminSkin.css.standard_css,
"~" + Paths.Scripts.AdminSkin.css.special_pages_css,
//"~" + Paths.Scripts.AdminSkin.css.simple_lists_css,
//"~" + Paths.Scripts.AdminSkin.css.block_lists_css,
//"~" + Paths.Scripts.AdminSkin.css.planning_css,
//"~" + Paths.Scripts.AdminSkin.css.table_css,
//"~" + Paths.Scripts.AdminSkin.css.calendars_css,
//"~" + Paths.Scripts.AdminSkin.css.wizard_css,
//"~" + Paths.Scripts.AdminSkin.css.gallery_css,
"~" + Paths.Scripts.site.css.login_css,
"~" + Paths.Scripts.site.css.site_css,
"~" + Paths.Scripts.site.css.tables_css,
"~" + Paths.Scripts.site.css.standard_fa_css,
"~" + Paths.Scripts.site.css.theme_selector_css,
"~" + Paths.Scripts.jquery_ui_1_9_2.css.redmond.jquery_ui_1_9_2_custom_css,
"~" + Paths.Scripts.ImageGallery.wt_rotator_css,
"~" + Paths.Scripts.ImageGallery.default_css,
"~" + Paths.Scripts.calendar.aqua.theme_css
);
ScriptBundle bundleScripts = new ScriptBundle("~/bundles/scripts/");
bundleScripts.Include(
//Admin Skin Scripts
"~" + Paths.Scripts.AdminSkin.js.old_browsers_js,
"~" + Paths.Scripts.AdminSkin.js.libs.jquery_hashchange_js,
"~" + Paths.Scripts.AdminSkin.js.jquery_accessibleList_js,
"~" + Paths.Scripts.AdminSkin.js.searchField_js,
"~" + Paths.Scripts.AdminSkin.js.common_js,
"~" + Paths.Scripts.AdminSkin.js.standard_js,
"~" + Paths.Scripts.AdminSkin.js.jquery_tip_js,
"~" + Paths.Scripts.AdminSkin.js.jquery_contextMenu_js,
"~" + Paths.Scripts.AdminSkin.js.jquery_modal_js,
"~" + Paths.Scripts.AdminSkin.js.list_js,
//"~" + Paths.Scripts.AdminSkin.js.libs.jquery_dataTables_min_js,
//jquery plug ins
"~" + Paths.Scripts.jquery_ui_1_9_2.js.jquery_ui_1_9_2_custom_js,
"~" + Paths.Scripts.jquery_cookie.jquery_cookie_js,
"~" + Paths.Scripts.site.js.site_js,
"~" + Paths.Scripts.site.js.clock_js,
"~" + Paths.Scripts.site.js.size_js,
"~" + Paths.Scripts.site.js.cookie_manager_js,
//devexpress related
"~" + Paths.Scripts.site.js.devexpress_theme_js,
"~" + Paths.Scripts.site.js.devexpress_controls_js,
//chart scripts
"~" + Paths.Scripts.Highstock_1_2_5.highstock_src_modified_js,
"~" + Paths.Scripts.Highstock_1_2_5.exporting_js,
"~" + Paths.Scripts.Highstock_1_2_5.highcharts_more_js,
"~" + Paths.Scripts.site.js.chart_fa_js,
//calendar scripts
"~" + Paths.Scripts.calendar.jalali_js,
"~" + Paths.Scripts.calendar.calendar_js,
"~" + Paths.Scripts.calendar.calendar_setup_js,
"~" + Paths.Scripts.calendar.calendar_fa_js,
"~" + Paths.Scripts.calendar.calendar_en_js,
//image gallery scripts
"~" + Paths.Scripts.ImageGallery.js.jquery_wt_rotator_min_js,
"~" + Paths.Scripts.ImageGallery.js.jquery_easing_1_3_min_js,
"~" + Paths.Scripts.ImageGallery.js.preview_js
);
if (RequestCachedItems.Setting.UseGoogleMap)
{
}
else
{
//leaflet map script
bundleScripts.Include("~" + Paths.Scripts.leaflet_0_7.leaflet_src_js);
//leaflet map style
bundleStyles.Include("~" + Paths.Scripts.leaflet_0_7.leaflet_css, new CssRewriteUrlTransform());
}
ScriptBundle bundleLiveScripts = new ScriptBundle("~/bundles/livescripts/");
bundleLiveScripts.Include(
"~" + Paths.Scripts.signalr.jquery_signalR_2_0_0_min_js,
"~" + Paths.Scripts.signalr.hubs_js,
"~" + Paths.Scripts.liveControls.connectionManager_js,
"~" + Paths.Scripts.liveControls.liveControls_js,
"~" + Paths.Scripts.liveControls.liveTables_js
);
bundles.Add(bundleStyles);
bundles.Add(bundleScripts);
bundles.Add(bundleLiveScripts);
BundleTable.EnableOptimizations = true;
}
除外:
[NullReferenceException异常:对象引用不设置到 对象的实例] System.Web.HttpContext.RequestRequiresAuthorization() +18 System.Web.Caching.OutputCacheModule.OnLeave(Object source,EventArgs eventArgs)+9606196
System.Web.SyncEventExecutionStep.Sy stem.Web.HttpApplication.IExecutionStep.Execute() +136 System.Web.HttpApplication.ExecuteStep(IExecutionStep一步,布尔& completedSynchronously)+69
这听起来像是和捆绑无关,但是当用户没有登录(资源为空)时,您有问题获取资源。 – MikeSmithDev
@MikeSmithDev,为什么它是空?以及用户何时登录的原因? –
这是你的代码的问题。我猜它会像'Paths.Scripts.AdminSkin'为空,如果用户没有登录和/或用户不是管理员。 – MikeSmithDev