The right URL, server.transfer

Discussion in 'ASP .Net' started by Fabrice, Feb 4, 2006.

  1. Fabrice

    Fabrice Guest

    Hello

    Does a solution exist to get always the right path when you use
    Server.Transfer in web application (version 1.1) ?

    I want to rewrite my URL by use Global.asax and Application_BeginRequest
    Sub. But as i use server.transfer in my web application i get always the old
    URL even if
    i use the property "HttpContext.Current.Request.CurrentExecutionFilePath".

    My global.asax

    ....
    Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)

    Dim myCurrentURL As String =
    HttpContext.Current.Request.CurrentExecutionFilePath
    ....

    End Sub

    But it seems not to work with server.tranfser property. I always get the
    old URL.
    For example, If I transfer a user to the page2.aspx from the page1.aspx by
    use of server.transfer property, I will get "page1.aspx" as result with the
    property HttpContext.Current.Request.CurrentExecutionFilePath .... although
    i m really on the page2.aspx

    If i place the same code in the SUB LOAD of each page i get the right URL.

    So if someone can help me....

    thanks a lot.
    Fabrice, Feb 4, 2006
    #1
    1. Advertising

  2. Fabrice,

    That's because of the order of execution the Begin Request is firing when
    the client posts to the server with the old url. Unless the client is
    contacted again and told to request the new page (e.g. Response.Redirect)
    the first request into the Global.asax will always use the old url.
    Server.Transfer then executes the new page instead of the old one, but the
    Global.asax file is not hit again because the client has not made a new
    request. I'm afraid you'll need to re-think your solution. If you need to
    use Server.Transfer instead of Response.Redirect then you'll need to access
    HttpContext.Current.Request.CurrentExecutionFilePath at the page level.

    --
    Sincerely,

    S. Justin Gengo, MCP
    Web Developer / Programmer

    www.aboutfortunate.com

    "Out of chaos comes order."
    Nietzsche
    "Fabrice" <> wrote in message
    news:eIuZ%...
    > Hello
    >
    > Does a solution exist to get always the right path when you use
    > Server.Transfer in web application (version 1.1) ?
    >
    > I want to rewrite my URL by use Global.asax and Application_BeginRequest
    > Sub. But as i use server.transfer in my web application i get always the
    > old URL even if
    > i use the property
    > "HttpContext.Current.Request.CurrentExecutionFilePath".
    >
    > My global.asax
    >
    > ...
    > Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
    >
    > Dim myCurrentURL As String =
    > HttpContext.Current.Request.CurrentExecutionFilePath
    > ...
    >
    > End Sub
    >
    > But it seems not to work with server.tranfser property. I always get the
    > old URL.
    > For example, If I transfer a user to the page2.aspx from the page1.aspx
    > by use of server.transfer property, I will get "page1.aspx" as result with
    > the property HttpContext.Current.Request.CurrentExecutionFilePath ....
    > although i m really on the page2.aspx
    >
    > If i place the same code in the SUB LOAD of each page i get the right URL.
    >
    > So if someone can help me....
    >
    > thanks a lot.
    >
    S. Justin Gengo [MCP], Feb 4, 2006
    #2
    1. Advertising

  3. Fabrice

    Fabrice Guest

    Hi Justin,

    Thanks for your help and your explanation.
    I think i have to re-think a part of my application if i want to apply
    rewriting solution... .!

    Have a nice week end.

    fabrice.


    "S. Justin Gengo [MCP]" <justin@[no_spam_please]aboutfortunate.com> a écrit
    dans le message de news: O%...
    > Fabrice,
    >
    > That's because of the order of execution the Begin Request is firing when
    > the client posts to the server with the old url. Unless the client is
    > contacted again and told to request the new page (e.g. Response.Redirect)
    > the first request into the Global.asax will always use the old url.
    > Server.Transfer then executes the new page instead of the old one, but the
    > Global.asax file is not hit again because the client has not made a new
    > request. I'm afraid you'll need to re-think your solution. If you need to
    > use Server.Transfer instead of Response.Redirect then you'll need to
    > access HttpContext.Current.Request.CurrentExecutionFilePath at the page
    > level.
    >
    > --
    > Sincerely,
    >
    > S. Justin Gengo, MCP
    > Web Developer / Programmer
    >
    > www.aboutfortunate.com
    >
    > "Out of chaos comes order."
    > Nietzsche
    > "Fabrice" <> wrote in message
    > news:eIuZ%...
    >> Hello
    >>
    >> Does a solution exist to get always the right path when you use
    >> Server.Transfer in web application (version 1.1) ?
    >>
    >> I want to rewrite my URL by use Global.asax and Application_BeginRequest
    >> Sub. But as i use server.transfer in my web application i get always the
    >> old URL even if
    >> i use the property
    >> "HttpContext.Current.Request.CurrentExecutionFilePath".
    >>
    >> My global.asax
    >>
    >> ...
    >> Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
    >> EventArgs)
    >>
    >> Dim myCurrentURL As String =
    >> HttpContext.Current.Request.CurrentExecutionFilePath
    >> ...
    >>
    >> End Sub
    >>
    >> But it seems not to work with server.tranfser property. I always get the
    >> old URL.
    >> For example, If I transfer a user to the page2.aspx from the page1.aspx
    >> by use of server.transfer property, I will get "page1.aspx" as result
    >> with the property HttpContext.Current.Request.CurrentExecutionFilePath
    >> .... although i m really on the page2.aspx
    >>
    >> If i place the same code in the SUB LOAD of each page i get the right
    >> URL.
    >>
    >> So if someone can help me....
    >>
    >> thanks a lot.
    >>

    >
    >
    Fabrice, Feb 4, 2006
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Shankar kalel
    Replies:
    1
    Views:
    463
    Joerg Jooss
    Dec 30, 2003
  2. Shankar Kalel
    Replies:
    0
    Views:
    304
    Shankar Kalel
    Dec 30, 2003
  3. Alvin Bruney [MVP]

    Re: Server.Transfer URL

    Alvin Bruney [MVP], Mar 2, 2004, in forum: ASP .Net
    Replies:
    1
    Views:
    880
    Eric Lawrence [MSFT]
    Mar 2, 2004
  4. Jim
    Replies:
    1
    Views:
    870
    Aaron Bertrand - MVP
    Jan 28, 2004
  5. castnblast
    Replies:
    0
    Views:
    78
    castnblast
    Dec 1, 2004
Loading...

Share This Page