How to temporarily disable bundling and minification at runtime? How to temporarily disable bundling and minification at runtime? asp.net asp.net

How to temporarily disable bundling and minification at runtime?


Extending what I mentioned in a comment:

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]public class OptimizationsDebuggingAttribute : ActionFilterAttribute{    private const String PARAM_NAME = "DisableOptimizations";    private const String COOKIE_NAME = "MySite.DisableOptimizations";    public override void OnActionExecuting(ActionExecutingContext filterContext)    {        Boolean parsedPref;        Boolean optimizationsDisabled = false;        if (filterContext.HttpContext.Request.QueryString[PARAM_NAME] != null)        { // incoming change request            var pref = filterContext.HttpContext.Request.QueryString[PARAM_NAME].ToString();            if (Boolean.TryParse(pref, out parsedPref))            {                optimizationsDisabled = parsedPref;            }        }        else        { // use existing settings            var cookie = filterContext.HttpContext.Request.Cookies[COOKIE_NAME];            if (cookie != null && Boolean.TryParse(cookie.Value, out parsedPref))            {                optimizationsDisabled = parsedPref;            }        }        // make the change        System.Web.Optimization.BundleTable.EnableOptimizations = !optimizationsDisabled;        // save for future requests        HttpCookie savedPref = new HttpCookie(COOKIE_NAME, optimizationsDisabled.ToString())        {            Expires = DateTime.Now.AddDays(1)        };        filterContext.HttpContext.Response.SetCookie(savedPref);        base.OnActionExecuting(filterContext);    }}

then of course implementing it looks something like:

public static void RegisterGlobalFilters(GlobalFilterCollection filters){    filters.Add(new HandleErrorAttribute());    filters.Add(new OptimizationsDebuggingAttribute());}

Or, if you prefer the hands-on approach:

[OptimizationsDebugging]public ActionResult TroublesomeAction(){    return View();}