Re: HTTPhandlers

From: Girish Bharadwaj (girishb_at_mvps.org)
Date: 09/15/04


Date: Wed, 15 Sep 2004 09:31:16 -0400

Umm, I dont think it works that way. HttpContext is transient. It can only
exists in the context of the ,..umm.. Current request.
See the Architecture overview of how IIS works:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/iis/iisarchitectureoverview.asp

Anyway, I think you should probably consider coding it at lower C++ level
(may be at the sockets level). I dont think HttpHandlers are capable of
doing this.

-- 
Girish Bharadwaj
http://msmvps.com/gbvb
"daFou" <daFou@discussions.microsoft.com> wrote in message
news:35538620-7FC3-46B4-9008-4002B385F20F@microsoft.com...
> Richard,
>
> Excactly how I keep the connection alive for indefenet is not important
for
> my problem. If you are interested to learn how I do it we can engage in a
> seperate discusion about this after I solved my problem.
>
> My problem is that I use a TcpListener on what ever port is not in use.
But
> some users can't use many ports other then 80. When I try to have the
> TcpListener listen on port 80 I get this error stating that port is
already
> in use or something.
> This is totally bogus and thus I thought of using HTTPhandlers to redirect
> incomming requests and store them.
> Some request get redirected and others are left to any other process that
> wants them like IIS or some other web server.
>
> I really dont feel like lower level c++ winsock programming and want a
clean
> way of doing this.
>
> Regards,
>
> DaFou
> "Richard Blewett [DevelopMentor]" wrote:
>
> > The link you provided does not explain how to hold a connection open
over HTTP - unless the answers to the query do, but this requires a
subscription which I'm not prepared to pay. Is there any other way for me to
be able to see the technique that keeps an HTTP based connection active over
a long period? As far as I know, any HTTP server is going to nuke the
connection from the server side after about 30 seconds of inactivity.
> >
> >  Regards
> >
> >  Richard Blewett - DevelopMentor
> >
> >  http://staff.develop.com/richardb/weblog
> >
> >
nntp://news.microsoft.com/microsoft.public.dotnet.framework/<90FD5583-89F9-4847-893B-ABE87226BFB7@microsoft.com>
> >
> >    As I explan in the link I provided I CAN keep the connection open
using the
> >  HTTP protcol. HTTP is nothing more then a pre defined set of commands
so HTTP
> >  in itself is not stateless. I am not looking to debate wether my
ChatServer
> >  works or not because it does work.
> >  The only problem I have is I use a TcpListener and I cannot use that on
port
> >  80 becuase IIS is already listening on that port and I need my program
to
> >  work on port 80.
> >
> >
> >  "Girish Bharadwaj" wrote:
> >
> >  > One thing you can probably do is to have a different port based
server to
> >  > which you make the request to do the connection with the user and
maintain
> >  > that connection. But, as Richard says, you cannot get there from
here.
> >  >
> >  >
> >  > --
> >  > Girish Bharadwaj
> >  > http://msmvps.com/gbvb
> >  > "Richard Blewett [DevelopMentor]" <richardb@develop.com> wrote in
message
> >  > news:ejE9wNlmEHA.1136@TK2MSFTNGP10.phx.gbl...
> >  > > What you NEED and whether the communications protocol you have
selected
> >  > can support it are two different issues.
> >  > >
> >  > > HTTP is a stateless protocol. You cannot keep connections open over
long
> >  > periods (keep-alives are not desined for this).
> >  > >
> >  > > So sorry, you cannot toake the approach you want with HTTP
> >  > >
> >  > > Regards
> >  > >
> >  > > Richard Blewett - DevelopMentor
> >  > >
> >  > > http://staff.develop.com/richardb/weblog
> >  > >
> >  > >
> >  > >
> >  > >
> >  >
nntp://news.microsoft.com/microsoft.public.dotnet.framework/<4728F0E6-586C-4E87-A5E1-D530EE13C864@microsoft.com>
> >  > >
> >  > > I NEED to maintain an active connection to be able to create an
efficient
> >  > > chat application on port 80 without the use of flash or java or
active x.
> >  > > Please read this link:
> >  >
http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/Q_21129241.html
> >  > > It explains what I want to do.
> >  > >
> >  > > It comes down to that I have written this very efficient DHTML chat
> >  > server
> >  > > that maintains an active connection with the browser. But I use a
> >  > TcpListener
> >  > > to make it work and this means I cannot have the DHTML server work
on
> >  > port 80.
> >  > > So I figured to use HTTPhandler to intercept certain requests on
port 80
> >  > and
> >  > > pass them to the DHTMLchatServer.
> >  > >
> >  > > Any advice would be welcome
> >  > >
> >  > >
> >  > > "Girish bharadwaj" wrote:
> >  > >
> >  > > > If you look at the help for HttpContext: " Encapsulates all
> >  > HTTP-specific
> >  > > > information about an individual HTTP request. ". By definition,
Context
> >  > is
> >  > > > only per request. If you want more that information or want to do
> >  > something
> >  > > > across invocations, you might have to consider some of the state
> >  > management
> >  > > > schemes presented by ASP.NET such as Cookies, ViewState, Session
> >  > > > ,Application or Cache.
> >  > > >
> >  > > > --
> >  > > > Girish Bharadwaj
> >  > > > http://msmvps.com/gbvb
> >  > > > "John Saunders" <johnwsaundersiii@notcoldmail.com> wrote in
message
> >  > > > news:%238$f0zemEHA.2788@TK2MSFTNGP10.phx.gbl...
> >  > > > > "daFou" <daFou@discussions.microsoft.com> wrote in message
> >  > > > > news:1F690C94-2FB5-43F8-B295-EC981805906E@microsoft.com...
> >  > > > > > Hi ALl,
> >  > > > > >
> >  > > > > > How do I prevent the ProcessRequest method from the
IHttpHandler
> >  > Class
> >  > > > > from
> >  > > > > > closing the http connection and killing the context after the
> >  > > > > ProcessRequest
> >  > > > > > method has ended.
> >  > > > > >
> >  > > > > > TO further explain what I want please read this link:
> >  > > > > >
> >  > > > >
> >  > > >
> >  >
http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/Q_21129241.html
> >  > > > >
> >  > > > > Q: How do I prevent ProcessRequest from closing the connection
when
> >  > it's
> >  > > > > done?
> >  > > > > A: You don't
> >  > > > >
> >  > > > > ASP.NET doesn't work that way. It's all about request/response.
Once
> >  > the
> >  > > > > response has been sent, the request is over and gone, as though
it
> >  > had
> >  > > > never
> >  > > > > existed (except for anything persistent which the request may
have
> >  > done).
> >  > > > >
> >  > > > > If you need to keep connections open for an indefinite period
of
> >  > time,
> >  > > > then
> >  > > > > you need to stop using ASP.NET.
> >  > > > > --
> >  > > > > John Saunders
> >  > > > > johnwsaundersiii at hotmail
> >  > > > >
> >  > > > >
> >  > > >
> >  > > >
> >  > > >
> >  > >
> >  > > ---
> >  > > Incoming mail is certified Virus Free.
> >  > > Checked by AVG anti-virus system (http://www.grisoft.com).
> >  > > Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004
> >  > >
> >  > >
> >  > >
> >  > > [microsoft.public.dotnet.framework]
> >  >
> >  >
> >  >
> >
> >  ---
> >  Incoming mail is certified Virus Free.
> >  Checked by AVG anti-virus system (http://www.grisoft.com).
> >  Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004
> >
> >
> >
> >  [microsoft.public.dotnet.framework]
> >


Relevant Pages

  • Re: Help understanding error message
    ... Saravana Kumar [MVP - BizTalk Server] ... Receive port is reported to be HTTP but I don't any see HTTP packets in ... Maybe you set up a two-way send port being directed to a one-way ... Details:"Unable to read data from the transport connection: The ...
    (microsoft.public.biztalk.general)
  • Re: Help understanding error message
    ... Network traces show lots of bad checksums, everywhere, not just on BTS ... Receive port is reported to be HTTP but I don't any see HTTP packets in ... Maybe you set up a two-way send port being directed to a one-way receive ... Details:"Unable to read data from the transport connection: The ...
    (microsoft.public.biztalk.general)
  • Re: How to PostThreadMessages?
    ... can the machine terminate a connection WHILE transferring a ... So, you post a request for a file, a machine sends a response that contains ... This thread will send the keep-alive signals until the User disconnects ... check that the port is clear, block the port, read from the port, then ...
    (microsoft.public.vc.mfc)
  • Re: Help understanding error message
    ... Just to make sure the virtual directory and security settings are correct ... Maybe you set up a two-way send port being directed to a one-way receive ... Details:"Unable to read data from the transport connection: The ... Microsoft has provided a patch that deals with the HTTP ...
    (microsoft.public.biztalk.general)
  • Re: Playing a stream with WMP
    ... your port in the application which is listening for http connections. ... In the case of mms you'll be servicing connection requests on ports ... buffering the stream and inferring missing data to ensure smooth ...
    (microsoft.public.windowsmedia.sdk)