11

We have scaled-out some portions of our ASP.NET app to run on one server, and other portions to run on another server (& under a subdomain).

The two servers share (SQL Server) Session. We used this MS article to create a tiny HTTP Module to sync app domain name between the two servers (sans the cookie domain code, which can be configured in the web.config. I later found this CodeProject article which is essentially the same.)

Everything's working well, except for a small issue: deployment changes or web.config tweaks require a manual app pool recycle (the auto-recycle no longer works - instead we get the "web server is currently unavailable / hit refresh" error).

I tried moving the app domain naming code from the HTTP Module into the Application_Start section of the Global.asax (maybe this is a better place for it?) - but received the same problem.

I know that one solution is to hard-code the app name in one of the SQL Server Session stored procedures; but am a bit hesitant to do this.

Edit: The app is ASP.NET 3.5 under IIS 6.0 (thanks @Chris & @bzlm)

NotMe
  • 87,343
  • 27
  • 171
  • 245
Dave Clausen
  • 1,302
  • 1
  • 12
  • 23

2 Answers2

0

Update. We opened a tech support case with Microsoft about this. After a week or so of back & forth, they said they had reproduced the issue in their environment and understand the cause (a timing issue deep inside the ASP.NET internals) - but that there is no resolution that they're aware of. I complained that the HTTP module is Microsoft code, but they said that this code is under "FAST PUBLISH" terms - intended to help & advise customers; yet not warranted.

Ah well. We now just manually recycle the app pool after making a web.config change.

Dave Clausen
  • 1,302
  • 1
  • 12
  • 23
0

You should check if proper Recycling Events are turned on in IIS, maybe this can help http://support.microsoft.com/kb/332088

Milan Jaric
  • 5,556
  • 2
  • 26
  • 34