How to implement cache to rendering CSS and JS file in MVC C#

The below code will help us to implement cache to render CSS and JS files in MVC C# and also to improve the performance of page loading.


The following steps:

  • 1)     Added a Cache Helper class to Cache file,
  • 2)     Import the Utility on cshtml file
  • 3)     Apply the CacheHelper.CacheFile() for each js and css file on views
  • 4)     Result


For Example,> Added a Cache Helper class to Cache file,

using System;

using System.IO;

using System.Web;

using System.Web.Caching;

using System.Web.Hosting;

namespace Utility

{

    public static class CacheHelper

    {      

        public static string CacheFile(string rootRelativePath)

        {

            if (HttpRuntime.Cache[rootRelativePath] == null)

            {

                string absolute = HostingEnvironment.MapPath(rootRelativePath);

                DateTime date = File.GetLastWriteTime(absolute);

 

                string result = rootRelativePath + "?v=" + date.Ticks;

                HttpRuntime.Cache.Insert(rootRelativePath, result, new CacheDependency(absolute));

            } 

            return HttpRuntime.Cache[rootRelativePath] as string;

        } 

    }

}


Import the Utility on cshtml file & Apply the CacheHelper.CacheFile()

import helper class > @using Utility


CSS file,

<link href="@CacheHeper.CacheFile("/includes/css/bootstrap.min.css")" rel="stylesheet" />


JS file,

<script src="@CacheHeper.CacheFile("/Scripts/jquery-maskedinput.js")"></script>

ANIL SINGH

Anil Singh is an author, tech blogger, and software programmer. Book writing, tech blogging is something do extra and Anil love doing it. For more detail, kindly refer to this link..

My Tech Blog - https://www.code-sample.com/
My Books - Book 1 and Book 2

www.code-sample.com/. Powered by Blogger.
^