"BillAtWork" <(E-Mail Removed)> wrote in message
news:26782DE2-86CD-4CEF-BD46-(E-Mail Removed)...
> Hi,
> I'm hoping to find best practices for implementing an asp.net process, for
> many 1000's of users, that is mainly "waiting" for data from an external
> service. Platform is c#, IIS, asp.net 3.5, sql server 2005. Note that
> processing is mostly taken up waiting for the external web service - the
> actual workload on our side is quite light.
>
> The process that is called asynchronously from the browser for each user.
> It
> may take around 10-40 seconds to complete. Note that the user's browser is
> NOT tied up during this time and is not "waiting" for the results - they
> will
> simply appear upon the user's next refresh of data.
>
> Is IIS being "tied up" in any way while waiting for this external service?
> I
> don't think this is about asynchronous calls since the only thing
> "waiting"
> is IIS. The users are fine. I'm trying to ascertain what's going on when
> you
> have 1000's of simultaneous processes, each waiting for something. Perhaps
> it's not even an issue and it's just what IIS does for a living!
>
> Thanks for any help!
>
Yes, IIS is being affected by this due to the fact that the application the
Web service is using resources such as memory, threads and processing power
to service the long requests. This could be a problem for you if the Web
service and the ASP.NET UI front end applications are running on the same
server, in speed to service other Web request problems and possible memory
problems as well.
Long running requests should be off loaded to another server, whereas, the
Web service passes the requests off to another server taking the load of the
front-end Web server, if this is your situation.
This is one way to do it.
http://www.devx.com/asp/Article/21782/1954
Here is another way to do it by using SQL Server Service Broker. And I'll
tell you that you can queue up processes that have nothing to do with
database access.
http://msdn.microsoft.com/en-us/library/ms345108(SQL.90).aspx
Yet another way to do it is with Windows Workflow to take the load off the
front-end Web server passing the process off to another server in the
infrastructure.
http://blogs.msdn.com/kaevans/archiv...brequests.aspx
__________ Information from ESET NOD32 Antivirus, version of virus signature
database 4501 (20091012) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
__________ Information from ESET NOD32 Antivirus, version of virus signature database 4501 (20091012) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com