·上一篇:PHP 偽靜態及參數隱藏傳遞的幾種方法
·下一篇:ASP.Net 增加FCKEditor圖片上傳生成縮略圖功能
VB.net實現Asp.net頁面簡單壓縮(gzip,deflate)
編譯后,并在web.config文件中添加httpmodule模塊配置內容就OK了。
當然也可能將以上代碼作出一些修改后直接添加到您的頁面基類里使用
- VBScript code復制代碼
Public Class CompressModule Implements IHttpModule Public Sub Dispose() Implements System.Web.IHttpModule.Dispose End Sub Public Sub Init(ByVal context As System.Web.HttpApplication) Implements System.Web.IHttpModule.Init AddHandler context.PreRequestHandlerExecute, AddressOf CompressModule_PreRequestHandlerExecute End Sub Protected Sub CompressModule_PreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs) Dim app As HttpApplication = CType(sender, HttpApplication) '檢測是否為ASP.NET頁面,是否MS-AJAX應用 If TypeOf app.Context.CurrentHandler Is UI.Page AndAlso app.Request.ServerVariables("HTTP_X_MICROSOFTAJAX") Is Nothing Then Dim type As CompressType = Me.GetCompressType(app) If type = CompressType.GZip Then app.Response.Filter = New GZipStream(app.Response.Filter, CompressionMode.Compress) app.Response.AppendHeader("Content-Encoding", type.ToString().ToLower()) ElseIf type = CompressType.Deflate Then app.Response.Filter = New DeflateStream(app.Response.Filter, CompressionMode.Compress) app.Response.AppendHeader("Content-Encoding", type.ToString().ToLower()) End If End If End Sub ''' <summary> ''' 獲取客戶端支持的壓縮類型 ''' </summary> ''' <param name="context">The context.</param> ''' <returns></returns> Protected Function GetCompressType(ByVal context As HttpApplication) As CompressType Dim accept As String = context.Request.Headers("Accept-Encoding") If String.IsNullOrEmpty(accept) Then Return CompressType.None End If accept = accept.ToUpperInvariant() If accept.Contains("GZIP") Then Return CompressType.GZip End If If accept.Contains("DEFLATE") Then Return CompressType.Deflate End If Return CompressType.None End Function ''' <summary> ''' 壓縮類型枚舉 ''' </summary> Protected Enum CompressType ''' <summary> ''' GZIP壓縮 ''' </summary> GZip ''' <summary> ''' Deflate壓縮 ''' </summary> Deflate ''' <summary> ''' 不支持壓縮 ''' </summary> None End Enum End Class
評論內容只代表網友觀點,與本站立場無關!
評論摘要(共 0 條,得分 0 分,平均 0 分)
查看完整評論