From time to time we get reports of sites becoming unreliable, where the front, back or both return a general 'oops' error. Recycling the app pool or restarting the site generally fixes it, but the error may occur after a period of time.
Examination of the Kartris logs (Uploads/Logs/Errors folder, or accessible via a working back end - Configuration > Database Admin > Error Logs) reveals that around the time the site stopped responding, subsequent requests generate the following error:
Format of the initialization string does not conform to specification starting at index 0
Googling for help on this error typically results in little of much help, as it suggests the error is down to a bad database connection string in the web.config. We know of course this is not the case, because the site works ok with the same string until the crash occurs.
But it does indicate that the issue is in some way database related.
We believe that the issue is linked to the APP POOL identity way of running web sites on IIS. There is some background on what this means here on the official Microsoft IIS site: IIS: Application Pool Identities. We have noticed that we tend not to see the issue on sites which are configured in the more old fashioned way, which is to create a new 'IUSR' user account on the server, add this user to the IIS users group, and then set the site to use this user rather than the APP POOL identity.
Another thing we have noticed is that we rarely if ever see the issue on our servers, but often notice when investigating servers on which the error does occur that there is a warning in the system tray that the server admin password 'expires today'. This doesn't happen on our servers as we always turn off the password expiry because we protect our servers by a number of additional measures including IP firewalling of RDP and other ports. There is a known issue on Windows where sites running the APP POOL identity will get permissions failures accessing the database if the server password is changed. So we suspect that a similar issue occurs if the password has effectively expired.
So for users experiencing this issue, we suggest ensuring the password expiry issue is sorted on your main admin account on the server. And if this does not resolve the issue, to create a new IUSR Windows user account, and set the site up to use this rather than the APP POOL identity.
On shared hosting, this may not be possible, but dealing with the admin password expiry is something the host may still be able to address.
Update: 2 Dec 2014
We have developed a script that can poll sites to see if they are available, and if not, try to recycle or restart them. This is experimental, but can be used with ASP.NET sites in general, not just Kartris. We'd appreciate any feedback via our forums.
Recycle App Pool Utility