2014-12-09 4 views
1

Я использую пакеты в своем приложении, и он работает нормально, но проблема возникла, когда я меняю любой из файлов js, это изменения не отражают необходимость очистки моего кеша. Ниже мой класс Bundle.Bundles Caching Issue

public class BundleConfig 
{ 

    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.IgnoreList.Clear(); 
     bundles.Add(new ScriptBundle("~/bundles/js") 


      .Include("~/Scripts/js/jquery-2.1.1.js") 
      .Include("~/Scripts/js/bootstrap.js") 
      .Include("~/Scripts/js/jquery-ui.js") 
      .Include("~/Scripts/js/jquery.dataTables.js") 
      .Include("~/Scripts/js/amplify.core.js") 
      .Include("~/Scripts/js/amplify.store.js") 
      .Include("~/Scripts/js/bootstrap-datepicker.js") 
      .Include("~/Scripts/js/bootstrapValidator.js") 
      .Include("~/Scripts/js/jasny-bootstrap.js") 

      .Include("~/Scripts/ApplicationCommand/AppCommands.js") 
      .Include("~/Scripts/ApplicationCommand/ControlName.js") 
      .Include("~/Scripts/ApplicationCommand/MDVisionServices.js") 
      .Include("~/Scripts/ApplicationCommand/store.js") 
      .Include("~/Scripts/ApplicationCommand/utility.js") 

      .Include("~/Controls/Admin/Admin_SubMain.js") 
      .Include("~/Controls/Admin/RefProvider.js") 
      .Include("~/Controls/DashBoard/DashBoard.js") 
      .Include("~/Controls/patient/Patient_Search.js") 
      .Include("~/Controls/Scheduling/Scheduling_Calendar.js") 
      .Include("~/Controls/Scheduling/Scheduling_Provider_Schedule.js") 
      .Include("~/Controls/Scheduling/Scheduling_Search.js") 
      .Include("~/Controls/Scheduling/Scheduling_WaitList.js") 
      .Include("~/Controls/Search/Search_Admin.js") 
      .Include("~/Scripts/MDVisionDefault.js") 
      .Include("~/Scripts/js/jquery.toastmessage.js") 
      .Include("~/Scripts/js/jquery.autocomplete.js") 

      .IncludeDirectory("~/Scripts/ApplicationCommand", "*.js", searchSubdirectories: true) 
      .IncludeDirectory("~/Controls", "*.js", searchSubdirectories: true) 


      //.IncludeDirectory("~/assets/vendor", "*.js", searchSubdirectories: true) 

     ); 


     bundles.Add(new StyleBundle("~/bundles/css") 


.Include("~/Content/Blue/bootstrap.css") 
.Include("~/Content/Blue/bootstrapValidator.css") 


); 

} 

Ниже представлена ​​моя страница aspx, где я регистрирую свой пакет.

<asp:PlaceHolder ID="PlaceHolder2" runat="server"> 
    <%: Scripts.Render("~/bundles/js") %> 
    <%: Styles.Render("~/bundles/css") %> 
</asp:PlaceHolder> 

Теперь проблема заключается в том, что я меняю любой из файлов js. Мне нужно также очистить кеш. Любой может дать решение.

EDIT:

Я слышал о опустошении кэша, но не могу понять, если это полезно в моем случае, пожалуйста, объясните мне, как я могу использовать в моем случае. Спасибо

+0

Пожалуйста, смотрите этот пост, http://stackoverflow.com/questions/9406003/how-do-i-turn-off-caching-for-my-entire-asp-net-mvc-3-website – Venkat

+0

@ Venkat Nope, который не работает для JS, я пробовал до этого, но не работал для меня. – Sherry

ответ

0

Послепродажное обслуживание Некоторое время я разобрался с проблемой и решил ее.

На странице HTML, которую вы должны сделать в соответствии с нижеприведенной техникой на странице aspx под заголовком.

<script src=<%: System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/AppCommands") %>></script> 
    <script src=<%: System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/AppSecurity") %>></script> 
    <script src=<%: System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/ControlName") %>></script> 
    <script src=<%: System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/MDVisionServices") %>></script> 
    <script src=<%: System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/store") %>></script> 
    <script src=<%: System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/utility") %>></script> 
    <script src=<%: System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/Adminjs") %>></script> 

Bundles.ResolveBundleUrl() поместит JS или CSS для года, и если какие-то изменения закачано он будет автоматически обновлять ссылки.