Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP General > Realtiming ajax?

Reply
Thread Tools

Realtiming ajax?

 
 
deostroll
Guest
Posts: n/a
 
      06-26-2007
Suppose I have an asp page that has a response.write(something) in a
loop that would run for a considerable amount of time. Now, from my
client browser can I trap those server response messages (using ajax)
and print them on the browser?

(The thing is the asp page is still running over at the server...while
it is running I would want to monitor some variables that is part of
the program that is running over at the server)

--deostroll

 
Reply With Quote
 
 
 
 
Anthony Jones
Guest
Posts: n/a
 
      06-26-2007

"Jon Paal [MSMD]" <Jon nospam Paal @ everywhere dot com> wrote in message
news:(E-Mail Removed)...
> To achieve what I think you are wanting , use response.flush to show

interim values while the asp page is running.
>
>


That'll send content to the client but the component on the client end needs
to be able to deliver that content via an event before the response is
complete.

The only component that can do that WinHTTP. I've never wired up it's
events in script to see if that can be done.

> "deostroll" <(E-Mail Removed)> wrote in message

news:(E-Mail Removed) oups.com...
> > Suppose I have an asp page that has a response.write(something) in a
> > loop that would run for a considerable amount of time. Now, from my
> > client browser can I trap those server response messages (using ajax)
> > and print them on the browser?
> >
> > (The thing is the asp page is still running over at the server...while
> > it is running I would want to monitor some variables that is part of
> > the program that is running over at the server)
> >
> > --deostroll
> >

>
>



 
Reply With Quote
 
 
 
 
keyser soze
Guest
Posts: n/a
 
      06-27-2007
i think
you can use a session variable: session("progess")= 0
wich your "process.asp" can increase whenever you want
thus, you can retrieve it with ajax
invoking another page like "getprogress.asp"



"deostroll" <(E-Mail Removed)> escribió en el mensaje
news:(E-Mail Removed) oups.com...
> Suppose I have an asp page that has a response.write(something) in a
> loop that would run for a considerable amount of time. Now, from my
> client browser can I trap those server response messages (using ajax)
> and print them on the browser?
>
> (The thing is the asp page is still running over at the server...while
> it is running I would want to monitor some variables that is part of
> the program that is running over at the server)
>
> --deostroll
>



 
Reply With Quote
 
Anthony Jones
Guest
Posts: n/a
 
      06-28-2007

"keyser soze" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> i think
> you can use a session variable: session("progess")= 0
> wich your "process.asp" can increase whenever you want
> thus, you can retrieve it with ajax
> invoking another page like "getprogress.asp"
>



You can't use the session object in this way since it is single threaded.
You can't have a long running thread updating the session object and have
another thread read it. The request to getprogress.asp will queue until the
long running thread has completed.

It may be possible to use the application object or a DB to do the same
thing though.


>
>
> "deostroll" <(E-Mail Removed)> escribió en el mensaje
> news:(E-Mail Removed) oups.com...
> > Suppose I have an asp page that has a response.write(something) in a
> > loop that would run for a considerable amount of time. Now, from my
> > client browser can I trap those server response messages (using ajax)
> > and print them on the browser?
> >
> > (The thing is the asp page is still running over at the server...while
> > it is running I would want to monitor some variables that is part of
> > the program that is running over at the server)
> >
> > --deostroll
> >

>
>



 
Reply With Quote
 
Anthony Jones
Guest
Posts: n/a
 
      06-28-2007

"Jon Paal [MSMD]" <Jon nospam Paal @ everywhere dot com> wrote in message
news:(E-Mail Removed)...
> You can't check the progress of an ASP script from the client side.
>


Not quite sure I understand you. Did you not suggest using Response.Flush
to send some content to the client before the ASP script is completed?


>
> "Anthony Jones" <(E-Mail Removed)> wrote in message

news:(E-Mail Removed)...
> >
> > "Jon Paal [MSMD]" <Jon nospam Paal @ everywhere dot com> wrote in

message
> > news:(E-Mail Removed)...
> >> To achieve what I think you are wanting , use response.flush to show

> > interim values while the asp page is running.
> >>
> >>

> >
> > That'll send content to the client but the component on the client end

needs
> > to be able to deliver that content via an event before the response is
> > complete.
> >
> > The only component that can do that WinHTTP. I've never wired up it's
> > events in script to see if that can be done.
> >
> >> "deostroll" <(E-Mail Removed)> wrote in message

> > news:(E-Mail Removed) oups.com...
> >> > Suppose I have an asp page that has a response.write(something) in a
> >> > loop that would run for a considerable amount of time. Now, from my
> >> > client browser can I trap those server response messages (using ajax)
> >> > and print them on the browser?
> >> >
> >> > (The thing is the asp page is still running over at the

server...while
> >> > it is running I would want to monitor some variables that is part of
> >> > the program that is running over at the server)
> >> >
> >> > --deostroll
> >> >
> >>
> >>

> >
> >

>
>



 
Reply With Quote
 
keyser soze
Guest
Posts: n/a
 
      06-28-2007
or writting/reading a file, i guess
named as [user_id].txt
(he will need to deal with the txt garbage, of course)

"Anthony Jones" <(E-Mail Removed)> escribió en el mensaje
news:(E-Mail Removed)...
>
> "keyser soze" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> > i think
> > you can use a session variable: session("progess")= 0
> > wich your "process.asp" can increase whenever you want
> > thus, you can retrieve it with ajax
> > invoking another page like "getprogress.asp"
> >

>
>
> You can't use the session object in this way since it is single threaded.
> You can't have a long running thread updating the session object and have
> another thread read it. The request to getprogress.asp will queue until

the
> long running thread has completed.
>
> It may be possible to use the application object or a DB to do the same
> thing though.
>
>
> >
> >
> > "deostroll" <(E-Mail Removed)> escribió en el mensaje
> > news:(E-Mail Removed) oups.com...
> > > Suppose I have an asp page that has a response.write(something) in a
> > > loop that would run for a considerable amount of time. Now, from my
> > > client browser can I trap those server response messages (using ajax)
> > > and print them on the browser?
> > >
> > > (The thing is the asp page is still running over at the server...while
> > > it is running I would want to monitor some variables that is part of
> > > the program that is running over at the server)
> > >
> > > --deostroll
> > >

> >
> >

>
>



 
Reply With Quote
 
deostroll
Guest
Posts: n/a
 
      06-28-2007
Jon Paal said:

>You can't check the progress of an ASP script from the client side.


I have tried using response.flush, it does not work.

Technically my requirement does not deal with checking the progress of
the asp script. Rather I want to monitor some variables at runtime.

--deostroll

 
Reply With Quote
 
Anthony Jones
Guest
Posts: n/a
 
      06-28-2007

"deostroll" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) ups.com...
> Jon Paal said:
>
> >You can't check the progress of an ASP script from the client side.

>
> I have tried using response.flush, it does not work.
>
> Technically my requirement does not deal with checking the progress of
> the asp script. Rather I want to monitor some variables at runtime.
>


You need to turn off the standard ASP session management and turn off ASP
debugging before you can get ASP to process more than one request from the
same client.


 
Reply With Quote
 
keyser soze
Guest
Posts: n/a
 
      06-29-2007
wait,
please correct me if i don't got it:
are you saying that a page
with multiple ajax requests is not possible
to be processed in parallel,
with the standard session management ??

that is, i see that ajax is working on my page
but, behind the scenes, iis can process
only one request by session ???

all the work that i see ajax is doing
is not actually in paralell (with std session mgt) ??


"Anthony Jones" <(E-Mail Removed)> escribió en el mensaje
news:(E-Mail Removed)...
>
> "deostroll" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed) ups.com...
> > Jon Paal said:
> >
> > >You can't check the progress of an ASP script from the client side.

> >
> > I have tried using response.flush, it does not work.
> >
> > Technically my requirement does not deal with checking the progress of
> > the asp script. Rather I want to monitor some variables at runtime.
> >

>
> You need to turn off the standard ASP session management and turn off ASP
> debugging before you can get ASP to process more than one request from the
> same client.
>
>



 
Reply With Quote
 
Anthony Jones
Guest
Posts: n/a
 
      06-29-2007

"keyser soze" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> wait,
> please correct me if i don't got it:
> are you saying that a page
> with multiple ajax requests is not possible
> to be processed in parallel,
> with the standard session management ??


Yep. For each script to run in parrellel each needs to be executed in
different threads. Since the session object is only single thread it can
not be shared by two threads at the same time. Even if one of the scripts
has no need of the session object the ASP processor has no way to know that.
It has to make one of the ASP scripts wait until the first is finished so
that it can move the session object off one thread and give it to the other.

>
> that is, i see that ajax is working on my page
> but, behind the scenes, iis can process
> only one request by session ???


ASP can only processs one request per session. Strictly speaking IIS
doesn't know what an ASP session is.

>
> all the work that i see ajax is doing
> is not actually in paralell (with std session mgt) ??
>


You've got it.

Note fetching other resources form IIS are unnaffected by this limitation.
You can have the download of two XML files in parrellel but that wouldn't
help with performance much. In fact in terms of perceived performance it
could do more harm than good.

Also note that by default IE only creates 2 outstanding connections to any
one server and FF allows 8.




 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Advertisments