Torna al Thread

Imports Microsoft.VisualBasic Public Class HandlerPage Implements IHttpHandlerFactory 'Implements IHttpHandlerFactory, IRequiresSessionState Public Function GetHandler(ByVal context As HttpContext, ByVal requestType As String, ByVal URL As String, ByVal pathTranslated As String) As IHttpHandler _ Implements IHttpHandlerFactory.GetHandler Dim percorso As String = URL Dim tp As Long = -1 Dim id As Long = 0 Dim pag As Long = -1 Dim paginaNonStandard As String = "" Dim r As Regex Dim m As Match r = New Regex("(?<Nome>.*?)_tp(?<tp>[0-9]{1})_pg(?<pag>[0-9]{1,}).aspx|(?<Nome>.*?)_tp(?<tp>[0-9]{1})_pg(?<pag>[0-9]{1,})_id(?<id>[0-9]{1,}).aspx|(?<Nome>.*?)_tp(?<tp>[0-9]{1})_pg(?<pag>[0-9]{1,})_sh(?<id>[0-9]{1,}).aspx", RegexOptions.IgnoreCase Or RegexOptions.Compiled) m = r.Match(percorso) If m.Success Then tp = m.Groups("tp").Value pag = m.Groups("pag").Value paginaNonStandard = m.Groups("Nome").Value & ".aspx" If Not m.Groups("id").Value = "" Then id = m.Groups("id").Value End If End If If Not tp = -1 Then Select Case tp Case 1 context.Items("fileName") = System.IO.Path.GetFileNameWithoutExtension(URL).ToLower() 'context.RewritePath(URL, Nothing, "Page=" & pag & "&id=" & id) Return PageParser.GetCompiledPageInstance("~/Content.aspx", context.Server.MapPath("~/Content.aspx"), context) End Select Else context.Items("fileName") = System.IO.Path.GetFileNameWithoutExtension(URL).ToLower() If IO.File.Exists(context.Server.MapPath(percorso)) Then Return PageParser.GetCompiledPageInstance(percorso, context.Server.MapPath(percorso), context) Else Return PageParser.GetCompiledPageInstance("~/NoFound.aspx", context.Server.MapPath("~/NoFound.aspx"), context) End If 'End If 'Return PageParser.GetCompiledPageInstance("~/default.aspx", context.Server.MapPath("~/default.aspx"), context) End If End Function 'GetHandler Public Sub ReleaseHandler(ByVal handler As IHttpHandler) _ Implements IHttpHandlerFactory.ReleaseHandler End Sub 'ReleaseHandler End Class
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5