asynchronous call from synchronous web service method

  • Thread starter Secret Squirrel
  • Start date
S

Secret Squirrel

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
 
C

CESAR DE LA TORRE [MVP]

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]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top