global.asax

来自「asp.net技术内幕的书配源码」· ASAX 代码 · 共 44 行

ASAX
44
字号
<%@ Import Namespace="System.Data" %>

<Script Runat="Server">

Sub Application_BeginRequest
  Dim dtblBadLinks As DataTable
  Dim strThisUrl As String
  Dim strSelect As String
  Dim arrMatches() As DataRow
  Dim strGoodLink As String

  dtblBadLinks = GetBadLinks()
  strThisUrl = Request.Path.ToLower()
  If Request.ApplicationPath <> "/" Then
    strThisUrl = strThisUrl.Remove( 0, Request.ApplicationPath.Length )
  End If
  strSelect = "badlink='" & strThisURL & "'"
  arrMatches = dtblBadLinks.Select( strSelect, "badlink" )
  If arrMatches.Length > 0 Then
    strGoodLink = arrMatches( 0 )( "goodlink" )
    strGoodLink = Request.ApplicationPath & strGoodLink
    Context.RewritePath( strGoodLink )
  End If
End Sub

Function GetBadLinks() As DataTable
  Dim dstBadLinks As DataSet
  Dim dtblBadLinks As DataTable

  dtblBadLinks = Context.Cache( "badlinks" )
  If dtblBadLinks Is Nothing Then
    dstBadLinks = New DataSet
    dstBadLinks.ReadXml( Server.MapPath( "badlinks.xml" ) )
    dtblBadLinks = dstBadLinks.Tables( 0 )
    Context.Cache.Insert( "badlinks", _
      dtblBadLinks, _
      New CacheDependency( Server.MapPath( "badlinks.xml" ) ) )
  End If
  Return dtblBadLinks
End Function

</Script>       

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?