Asynchronous pages mechanism

Hello Experts,

I have some long running processes, so I want to use asynchronous pages.
What I know about asynchronous pages is that it's made to redirect my long running requests out of the Asp.net ThreadPool (25 threads managed  by the runtime) and let quick or current  requests be executed.
What I don't know is how many long requests the paralell threads can execute without any troubles. Are the requests queued ?

Thanks in advance for your help.
LVL 9
nouloukAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

vs1784Commented:
For asynchronous pprocesses you can use Web Services or Remoting i think. However Web Services is a better option.

Number depends on the CPU power you have.

Thanks
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
nouloukAuthor Commented:
Thanks vs1784,

Is it true that the Asp.net ThreadPool for current requests contains only 25 managed threads and if there are already 25 managed threads running, the ThreadPool queue all incoming requests which are in a waiting state.

I can use Webservices if you want, but I can do the same with my asynchronous page:
AddOnPreRenderCompleteAsync (
    new BeginEventHandler(MyBeginMethod),
    new EndEventHandler (MyEndMethod)
);
The job is completed asynchronously like a webservice.

I can't find anything about the asynchronous page threads management.
If it's about 25 threads managed in a ThreadPool, I'm  afraid because I need to run much more than 25 long running processes asynchronously ( near 500 ).
0
vs1784Commented:
You can increase the size above 25 using

ThreadPool.SetMaxThreads

See this link for reference

http://msdn2.microsoft.com/en-us/library/system.threading.threadpool.setmaxthreads.aspx

0
AngryBinaryCommented:
One of the benefits of using a Web Service, Remoting, or WCF to offload processing to another application is that these techniques all allow messaging across AppDomain and/or machine boundaries. The only reason I bring this up is because if you are running 500 marathon processes, resource utilization and performance may turn into significant concerns and scaling the app out and using a service locater to route requests may be a much more practical solution in the long run, if that sort of thing is within the bounds of your project scope.

If you do go that route, WCF is the optimal option for performance and scalability. ASMX web services are just as scalable and develop rapidly. Remoting is arguably easier to implement than WCF and can handle binary data transfer, but only between .NET components that live behind a firewall.

Randall
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.