HttpModule

Discussion in 'ASP .Net' started by PJ, Jul 17, 2003.

  1. PJ

    PJ Guest

    Is it possible to capture a request as it hits the server and before the
    post data has been completely sent to the web server?

    Thanks~
     
    PJ, Jul 17, 2003
    #1
    1. Advertising

  2. I've never done it, but you should be able to inspect the incoming stream vi
    the request.filter. If you look in the HTTPModules section on www.asp.net
    their is a long thread on uploading large files which covers this to some
    degree.

    --
    Regards

    John Timney (Microsoft ASP.NET MVP)
    ----------------------------------------------
    <shameless_author_plug>
    Professional .NET for Java Developers with C#
    ISBN:1-861007-91-4
    Professional Windows Forms
    ISBN: 1861005547
    Professional JSP 2nd Edition
    ISBN: 1861004958
    Professional JSP
    ISBN: 1861003625
    Beginning JSP Web Development
    ISBN: 1861002092
    </shameless_author_plug>
    ----------------------------------------------

    "PJ" <> wrote in message
    news:...
    > Is it possible to capture a request as it hits the server and before the
    > post data has been completely sent to the web server?
    >
    > Thanks~
    >
    >
     
    John Timney \(Microsoft MVP\), Jul 17, 2003
    #2
    1. Advertising

  3. PJ

    PJ Guest

    I'm am looking for the posted contents as they come into the server, but
    (IMPORTANTLY) before they have been completely sent. Specifically, I need
    to let users upload ~ 1gb files so I need to grab the posted file bytes as
    they are streaming into the server and save it to disk.

    Can I do this by wiring an event to the BeginRequest in the Init event of a
    module? Will the code below work? If so, how do I ensure that all of the
    posted file bytes do not go into memory? Will the act of reading the bytes
    ensure that the bytes do not go into memory as the request is sent on to the
    page handler?

    'sorry for the vb, forced to use this language
    Public Sub Init(ByVal app As HttpApplication) Implements IHttpModule.Init
    AddHandler app.BeginRequest, New EventHandler(AddressOf
    Me.OnBeginRequest)
    End Sub

    Public Sub OnBeginRequest(ByVal sender As Object, ByVal e As EventArgs)
    Dim ctx As HttpContext = CType(sender, HttpApplication).Context
    If ctx.Request.Files.Count > 0 Then
    Dim fs As New FileStream(Path.Combine("c:\uploads",
    Path.GetFileName(ctx.Request.Files(0).FileName)), FileMode.Create)
    Dim br As New BinaryReader(ctx.Request.Files(0).InputStream)
    Dim bw As New BinaryWriter(fs)
    Dim size As Integer = 1024
    Dim position As Integer
    Do
    If position + size > br.BaseStream.Length Then
    size = Convert.ToInt32(br.BaseStream.Length) - position
    End If
    bw.Write(br.ReadBytes(size))
    position += size
    Loop Until position >= ctx.Request.Files(0).ContentLength
    bw.Close()
    br.Close()
    fs.Close()
    End If
    End Sub

    "Sreejumon[MVP]" <> wrote in message
    news:031b01c34c9f$7cfcd000$...
    > Hi,
    >
    > Are you looking for the page header or request contents?
    >
    > If youa re looking for request contents, then you can save
    > the request stream to file using SaveAs method of
    > HttpRequest class. If you need header specify the second
    > parameter of saveas fucntion.
    >
    > Similay you can use the HTTPRespose obejcts method to
    > write the responze to file.
    >
    >
    > Let me know if you need further help.
    > regards
    > Sreejumon
    >
    >
    > >-----Original Message-----
    > >Is it possible to capture a request as it hits the server

    > and before the
    > >post data has been completely sent to the web server?
    > >
    > >Thanks~
    > >
    > >
    > >.
    > >
     
    PJ, Jul 17, 2003
    #3
  4. PJ

    Saravana Guest

    Saravana, Jul 18, 2003
    #4
    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. Jon Sequeira
    Replies:
    3
    Views:
    4,200
    gerry
    Jun 26, 2003
  2. Gary Varga
    Replies:
    0
    Views:
    351
    Gary Varga
    Jul 18, 2003
  3. Peter Rilling
    Replies:
    1
    Views:
    522
    Dhananjay Modak
    Aug 5, 2003
  4. Juha Borenius

    HttpModule or Global.asax

    Juha Borenius, Aug 13, 2003, in forum: ASP .Net
    Replies:
    1
    Views:
    632
    S. Justin Gengo
    Aug 13, 2003
  5. Steve Donnelly
    Replies:
    0
    Views:
    2,107
    Steve Donnelly
    Aug 30, 2003
Loading...

Share This Page