Realtiming ajax?

Discussion in 'ASP General' started by deostroll, Jun 26, 2007.

  1. deostroll

    deostroll Guest

    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
     
    deostroll, Jun 26, 2007
    #1
    1. Advertising

  2. "Jon Paal [MSMD]" <Jon nospam Paal @ everywhere dot com> wrote in message
    news:...
    > 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" <> wrote in message

    news:...
    > > 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
    > >

    >
    >
     
    Anthony Jones, Jun 26, 2007
    #2
    1. Advertising

  3. deostroll

    keyser soze Guest

    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" <> escribió en el mensaje
    news:...
    > 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
    >
     
    keyser soze, Jun 27, 2007
    #3
  4. "keyser soze" <> wrote in message
    news:...
    > 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" <> escribió en el mensaje
    > news:...
    > > 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
    > >

    >
    >
     
    Anthony Jones, Jun 28, 2007
    #4
  5. "Jon Paal [MSMD]" <Jon nospam Paal @ everywhere dot com> wrote in message
    news:...
    > 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" <> wrote in message

    news:...
    > >
    > > "Jon Paal [MSMD]" <Jon nospam Paal @ everywhere dot com> wrote in

    message
    > > news:...
    > >> 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" <> wrote in message

    > > news:...
    > >> > 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
    > >> >
    > >>
    > >>

    > >
    > >

    >
    >
     
    Anthony Jones, Jun 28, 2007
    #5
  6. deostroll

    keyser soze Guest

    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" <> escribió en el mensaje
    news:...
    >
    > "keyser soze" <> wrote in message
    > news:...
    > > 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" <> escribió en el mensaje
    > > news:...
    > > > 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
    > > >

    > >
    > >

    >
    >
     
    keyser soze, Jun 28, 2007
    #6
  7. deostroll

    deostroll Guest

    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
     
    deostroll, Jun 28, 2007
    #7
  8. "deostroll" <> wrote in message
    news:...
    > 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.
     
    Anthony Jones, Jun 28, 2007
    #8
  9. deostroll

    keyser soze Guest

    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" <> escribió en el mensaje
    news:...
    >
    > "deostroll" <> wrote in message
    > news:...
    > > 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.
    >
    >
     
    keyser soze, Jun 29, 2007
    #9
  10. "keyser soze" <> wrote in message
    news:...
    > 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.
     
    Anthony Jones, Jun 29, 2007
    #10
  11. deostroll

    keyser soze Guest

    it is the same on asp.net ?


    "Anthony Jones" <> escribió en el mensaje
    news:...
    >
    > "keyser soze" <> wrote in message
    > news:...
    > > 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.
    >
    >
    >
    >
     
    keyser soze, Jun 29, 2007
    #11
  12. "keyser soze" <> wrote in message
    news:...
    > it is the same on asp.net ?
    >


    I can't give you a definitive answer on that you perhaps need to as over in
    microsoft.public.dotnet.framework.aspnet.

    However since thread-safe session state containers aren't supported in
    ASP.NET I suspect that ASP.NET has no choice but to serialise page access
    per session


    >
    > "Anthony Jones" <> escribió en el mensaje
    > news:...
    > >
    > > "keyser soze" <> wrote in message
    > > news:...
    > > > 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.
    > >
    > >
    > >
    > >

    >
    >
     
    Anthony Jones, Jun 29, 2007
    #12
  13. deostroll

    khakman Guest

    Check out these real-time ajax examples and the whitepaper that goes
    with them...

    http://ams.tibco.com

    In these examples, multiple server-side data streams are multi-plexed
    across a single persistent HTTP connection, then unpacked at the
    client where they are published again to client-side ajax components.
    The real-time data is served by a product from TIBCO called TIBCO Ajax
    Message Service.

    --Kevin Hakman (TIBCO).
     
    khakman, Jul 10, 2007
    #13
    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. Replies:
    20
    Views:
    1,934
    d1srupt3r
    Mar 31, 2008
  2. darrel

    beginner AJAX questions (AJAX.net)

    darrel, Apr 27, 2006, in forum: ASP .Net
    Replies:
    5
    Views:
    2,462
    Flinky Wisty Pomm
    Apr 28, 2006
  3. jobs
    Replies:
    0
    Views:
    383
  4. =?Utf-8?B?QnJpYW4gRWR3YXJkcw==?=

    Deploying ASP.NET AJAX-Enabled Web site to host without AJAX insta

    =?Utf-8?B?QnJpYW4gRWR3YXJkcw==?=, Feb 20, 2007, in forum: ASP .Net
    Replies:
    2
    Views:
    618
    Patrick
    Feb 21, 2007
  5. minnie
    Replies:
    1
    Views:
    737
    Andrew Thompson
    Dec 13, 2006
Loading...

Share This Page