begin process at 2008 07 20 10:17:55
1 213 168 membres
87 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : httpmodule [ Divers / URL Rewriting ] (Alexis35)

httpmodule le 22/04/2008 16:11:10

Alexis35
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>
            <add type="HttpModuleRewriting" name="HttpModuleRewritinga" />
        </httpModules>

Donc au premier chargement par defaut, donc default.aspx, c'est bien la page default.aspx?transac=1 qui est chargé avec l'url juste en défaut.aspx, par contre lorsque je clique sur lien que j'ai créé avec
<a href="vente.aspx">test</a>

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!



Re : httpmodule le 22/04/2008 16:25:42

Alexis35
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!!


Classé sous : url, aspx, context, default, odbconnect

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS