Static variables and long running thread on IIS 7.5

Posted by Dmitry on Stack Overflow See other posts from Stack Overflow or by Dmitry
Published on 2011-01-12T08:48:55Z Indexed on 2011/01/12 8:54 UTC
Read the original article Hit count: 360

Filed under:
|
|
|

Hello people.

Help me solve next problem. I have ASP .NET MVC2 application. I run it on IIS 7.5. In one page user clicks button and handler for this button sends request to server (jquery.ajax). At server action in controller starts new thread (it makes long time import):

var thread = new Thread(RefreshCitiesInDatabase);
thread.Start();

State of import is available in static variable. New thread changes value of variable in the begin of work. User can check state of import too with the help of this variable, which is used in view. And user sees import's state. When I start this function few minutes everything is okey. On page I see right state of import, quantity of imported records is changed, I see changes in logs. But after few minutes begin troubles. When I refresh page with import state sometimes I see that import is okey but sometimes I see page with default values about import (like application is just started), but after that again I can see page with normal import's state. I tried to attach Visual Studio to IIS process and debug application. But when request comes to controller sometimes static variables have right values and sometimes they have default values (static int has 0, static string has "" etc.). Tell me what I do wrong. May be I must start additional thread in other way?

Thanks in advance, Dmitry

© Stack Overflow or respective owner

Related posts about .NET

Related posts about mvc