Httpmodule

Signaler
Messages postés
44
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
2 mai 2011
-
Messages postés
44
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
2 mai 2011
-
Bonjour je souhaiterai mettre en place de l'url rewriting "a la volée" grace a un httpmodule, malheureusement je ne comprends vraiment pas tout et encore moins comment fonctionne ce httpmodule.

Pour l'instant j'ai donc cela :

Mon test.vb contenu dans app_Code pour mon httpmodule :

Imports System.Web
Public Class HttpModuleRewriting
    Implements IHttpModule
    Dim odbConnect As New DBConnect
    Private _context As HttpContext

    Public Sub Dispose() Implements System.Web.IHttpModule.Dispose

    End Sub

    Public Sub Init(ByVal context As System.Web.HttpApplication) Implements System.Web.IHttpModule.Init
        _context = context.Context
        AddHandler context.BeginRequest, AddressOf context_beginRequest
        AddHandler context.PreRequestHandlerExecute, AddressOf context_beginRequest
    End Sub

    Protected Sub context_beginRequest(ByVal sender As Object, ByVal args As EventArgs)
        'on cast le sender en HttpAplication
        'Dim Appl As System.Web.HttpApplication = DirectCast(sender, System.Web.HttpApplication)
        ''On initialise le moteur de réécriture
        'Dim e As New Engine(Appl)
        'Dim r As String = e.Process()
        'If r <> "" Then
        '    SendToNewUrl(r, Appl)
        'End If

        'Obtient l 'URL a rencoder
        Dim sSql, TypeTransacUrl As String
        Dim Url As String = _context.Request.RawUrl
        If Url.Contains("Default") Then
            odbConnect.openConnection("BDD")            sSql "SELECT transaction_id FROM transactions where descriptif 'Vente'"
            TypeTransacUrl = odbConnect.executeRead(sSql)
            _context.RewritePath("Default.aspx?transac=" & TypeTransacUrl)
            odbConnect.closeConnection()
        End If
        If Url.Contains("vente") Then
            odbConnect.openConnection("BDD")            sSql "SELECT transaction_id FROM transactions where descriptif 'Vente'"
            TypeTransacUrl = odbConnect.executeRead(sSql)
            _context.RewritePath("Default.aspx?transac=" & TypeTransacUrl)
            odbConnect.closeConnection()
        End If
    End Sub

(Ce sont des tests!!)

En gros je souhaite suivant l'url affiché aller chercher en base la bonne page...

Donc pour mes tests que l'url contienne Default ou vente il doit me redirigé vers default.aspx?transac=1
Dan smon web config j'ai mis :

<httpModules>
            [vente.aspx test]

la il me renvoie une erreur comme quoi cette page vente.aspx n'existe pas...Ce qui semble logique mais mon url rewriting devrait prendre la main???

Enfin bref j'ai du louper quelque chose...;

Si quelqu'un vuolait bien m'aiguiller...

D'avance merci beaucoup!

1 réponse

Messages postés
44
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
2 mai 2011

et en fait on chargement il passe par le init de mon httpmodule, mais au clique sur le lien, il n'y passe pas...

J'avoue que je suis un peu perdu par tout ca!!