Статьи

ASP.NET 4.5 Обновление связки и минификации

Недавно я написал статью о новых функциях связывания и минимизации в ASP.NET 4.5. Из коробки вы получаете пакетирование и минифинацию без необходимости что-либо делать. Если вы пропустили его, вы можете найти его здесь .

После этой статьи в ASP.NET 4.5 произошли некоторые изменения. Ранее вам нужно было вручную добавить следующую строку кода в файл Global.asax:

protected void Application_Start() { BundleTable.Bundles.EnableDefaultBundles(); } 

После обновления до ASP.NET 4.5 вам больше не нужно вручную добавлять эту строку кода. Он автоматически появляется, когда вы начинаете новый проект.

 protected void Application_Start() { BundleTable.Bundles.RegisterTemplateBundles(); } 

Также был обновлен код для ссылки на связанные и уменьшенные файлы CSS и JavaScript. Ранее для ссылки на пакет вы должны добавить следующий код:

<script src="scripts/js"></script> <link href="content/css" rel="stylesheet" />
<script src="scripts/js"></script> <link href="content/css" rel="stylesheet" /> 

Это предполагает, что ваши файлы JavaScript находятся в папке, называемой скриптами , а таблицы стилей находятся в папке, называемой контентом . Это все еще работает с этим новым выпуском. Проблема с ссылками на файлы таким образом заключается в том, что при обновлении файлов старые версии все равно будут кэшироваться либо вашим браузером, либо веб-прокси. По умолчанию файлы кэшируются на 1 год, это замечательно, если вы никогда не обновляете их! Microsoft решила эту проблему, позволив вам ссылаться на связанные и свернутые файлы через ResolveBundleUrl .

<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script> <link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" /> 

Преимущество использования ResolveBundleUrl заключается в том, что он добавляет волшебную строку в конец имени файла. Эта волшебная строка изменяется только при изменении файла, то есть файлы будут кэшироваться в течение 1 года или до тех пор, пока они не изменятся. Если вы осмотрите страницу с помощью инструментов разработчика в Google Chrome, вы увидите волшебную строку.

Вы можете включить ключевое слово @using, чтобы устранить необходимость полной квалификации сборки System.Web.Optimization.

@using System.Web.Optimization
@using System.Web.Optimization 

Обязательно помните об использовании этой функции при разработке с ASP.NET 4.5.