Good day!
I’ve an application where 3rd party SOAP web-service is involved. Web service call is not very fast (a 1-3 seconds in common). I noticed that during this calls the entire application is ‘locked’ — IIS do not serve requests from other users.
I know that it is possible to call web service in another thread or in async way, but it seems to be an overkill for 2-3 seconds calls. May be there is some IIS configuration to resolve this?
I use IIS 6.0 on Windows Server 2003. Application is ASP.NET MVC 2 based.
Thanks!
Just to get that straight: you have an ASP.NET MVC 2 application calling an external SOAP web service. You have one user (session) calling some controller action which itself calls the service. During this call another user (different session) calls the same action and you are saying that it should wait until the first request completes. That’s kinda strange and unlikely.
The behavior you are describing could happen if you are using sessions and you have two concurrent requests (from the same HTTP session). Because session is not thread safe ASP.NET (and this is not a limitation of MVC it has always been like this) will queue all requests from the same session that are writing to it. Here’s a blog post which illustrates this (in the Session Limitations section)