Hôm nay mình hướng dẫn các bạn code nén gzip cho code asp.net file css, js thành công 100% mà mình đã sử dụng được. Trước tiên bạn tạo file Global.asax sau đó click chuột phải vào file chọn như hình dưới. Sau đó bạn chèn đoạn code sau vào file Global.asax này Mã: <%@ Application CodeBehind="Global.asax.cs" Inherits=".........Global" Language="C#" %> Mã: <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.IO.Compression" %> <script RunAt="server"> protected void Application_PreRequestHandlerExecute(object sender, EventArgs e) { HttpCompress((HttpApplication)sender); } private void HttpCompress(HttpApplication app) { string acceptEncoding = app.Request.Headers["Accept-Encoding"]; Stream prevUncompressedStream = app.Response.Filter; if (!(app.Context.CurrentHandler is Page) || app.Request["HTTP_X_MICROSOFTAJAX"] != null) return; if (string.IsNullOrEmpty(acceptEncoding)) return; acceptEncoding = acceptEncoding.ToLower(); if ((acceptEncoding.Contains("deflate") || acceptEncoding == "*") && CompressScript(Request.ServerVariables["SCRIPT_NAME"])) { // deflate app.Response.Filter = new DeflateStream(prevUncompressedStream, CompressionMode.Compress); app.Response.AppendHeader("Content-Encoding", "deflate"); } else if (acceptEncoding.Contains("gzip") && CompressScript(Request.ServerVariables["SCRIPT_NAME"])) { // gzip app.Response.Filter = new GZipStream(prevUncompressedStream, CompressionMode.Compress); app.Response.AppendHeader("Content-Encoding", "gzip"); } } private static bool CompressScript(string scriptName) { if (scriptName.ToLower().Contains(".axd")) return false; return true; } </script> Sau đó vào web.config tìm tới node <system.Webserver>…</system.Webserver> chèn vào bên trong đoạn code sau: Mã: <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> <dynamicTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/x-javascript" enabled="true" /> <add mimeType="*/*" enabled="false" /> </dynamicTypes> <staticTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/x-javascript" enabled="true" /> <add mimeType="*/*" enabled="false" /> </staticTypes> </httpCompression> <urlCompression doStaticCompression="true" doDynamicCompression="false" /> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00"/> </staticContent> Tiếp theo vào developers.google.com/speed/pagespeed/insights để kiểm tra hoặc checkgzipcompression.com
Đôi nét giới thiệu về ASP.NET cho anh em nào thiếu thông tin https://itseovn.com/threads/asp-net-la-gi-asp-net-ngon-ngu-lap-trinh-website-chuyen-nghiep.13694/