asynchronous call from synchronous web service method

Discussion in 'ASP .Net Web Services' started by Secret Squirrel, Oct 4, 2005.

  1. Hi,

    I have a web service in .net which does 2 things:

    1) save some data that is sent as params to the web service
    2) a second web service with the same params, get the results, and save
    them to the database too.

    now step 2) could take a while, so I want the WS to run step 2
    asynchronously. I tried creating a method to run step 2, created a
    MethodInvoker with it, and call it thru the MethodInvoker.BeginInvoke
    to run it asynchronously, but I get an error in the bowls of the
    asynchronously run method:

    Error in async process Thread was being aborted

    What is the solution? Can I not run an asynchronous process from a web
    service? Is there some other way to run an asynch process from a WS
    that would work? Any ideas?

    I can see changing step 2 to a WS and having my first WS call the 2nd
    asynchronously... But what I am already doing seems like it should
    work?

    Thanks,

    Jon Paugh
     
    Secret Squirrel, Oct 4, 2005
    #1
    1. Advertising

  2. I am afraid you cannot run a async web service from a synchronous web
    service, neither from a ASP.NET normal .ASPX web page, because the
    synchronous web service or ASP.NET normal .ASPX web page runs once and
    finish, son when the end-event from the asynchronous web service tries to say
    "hey, I've finished", by that time, the original synchronous web service
    thread execution does not exists. (a synchronous WebMethod or a ASP.NET
    normal .ASPX web page must run as fast as possible, and then it does not
    exists any more within the server).

    If you want to use asynchronous web services, you need a long-life app
    thread, like a WinForms App, a Windows Service, etc. You need to have running
    the original caller thread when the async web service ends and throws the
    end-event.
    Makes sense?
    --
    CESAR DE LA TORRE
    Software Architect
    [Microsoft MVP - XML Web Services]
    [MCSE] [MCT]

    Renacimiento
    [Microsoft GOLD Certified Partner]


    "Secret Squirrel" wrote:

    > Hi,
    >
    > I have a web service in .net which does 2 things:
    >
    > 1) save some data that is sent as params to the web service
    > 2) a second web service with the same params, get the results, and save
    > them to the database too.
    >
    > now step 2) could take a while, so I want the WS to run step 2
    > asynchronously. I tried creating a method to run step 2, created a
    > MethodInvoker with it, and call it thru the MethodInvoker.BeginInvoke
    > to run it asynchronously, but I get an error in the bowls of the
    > asynchronously run method:
    >
    > Error in async process Thread was being aborted
    >
    > What is the solution? Can I not run an asynchronous process from a web
    > service? Is there some other way to run an asynch process from a WS
    > that would work? Any ideas?
    >
    > I can see changing step 2 to a WS and having my first WS call the 2nd
    > asynchronously... But what I am already doing seems like it should
    > work?
    >
    > Thanks,
    >
    > Jon Paugh
    >
    >
     
    CESAR DE LA TORRE [MVP], Oct 7, 2005
    #2
    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. Vicky
    Replies:
    0
    Views:
    371
    Vicky
    Feb 16, 2004
  2. Sojwal Chitnis
    Replies:
    1
    Views:
    2,816
    Jinsong Liu
    Jun 9, 2005
  3. George2
    Replies:
    0
    Views:
    346
    George2
    Apr 5, 2008
  4. Rickert
    Replies:
    0
    Views:
    685
    Rickert
    Oct 6, 2011
  5. mimi

    asynchronous call to web service from a web page

    mimi, Jul 22, 2004, in forum: ASP .Net Web Services
    Replies:
    5
    Views:
    162
Loading...

Share This Page