I have an ASP site that connects to a back end SQL Server 2000 database. The part of the site that is giving me trouble is a multi-page user application. In theory, a person will do the following:
Application Page 1 -> Application Page 2 -> Application Page 3 -> Processing Page (no output ) -> Welcome Page OR Rejection Page
In more detail:
1) User goes to page 1 and enters information into form.
2) User submits
4) On successful validation check, page 2 takes the post data from page 1 and does SQL insert statements to put data into database.
5) Page 2 displays a form.
6) User fills out information and submits
8) On successful validation, page 3 takes the post data from page 2 and does SQL insert/update.
9) Page 3 displays a form
10) User enters information and submits
12) On successful validation, the processing page takes post data from page 3 and does SQL insert/update.
13) Processing page automatically redirects to either welcome or reject, depending on data.
Unfortunately, this process is plagued by problems. The two mains ones are:
Active Server Pages error 'ASP 0113'
Script timed out
/pageX.asp (this can happen in multiple places, but the most common is 2->3)
The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools. (the timeout is set to a high value already)
There is also the lovely:
Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
[Microsoft][ODBC SQL Server Driver]Timeout expired
/pageY.asp, line ZZ (line ZZ is a database query)
Sometimes people will see page 2 without having any data entered into the database at all.
The ODBC problem is sometimes accompanied by the following symptoms:
1) Microsoft Enterprise Manager freezes/crashes
2) Queries in Microsoft Query Analyzer do not return results
There are also rarer problems like
"There is no website configured at this address"
There is no consistency to these errors. They show up on different pages at different times. Sometimes the site will run without a hitch for several days; other times there will be so many problems as to make it unusable.
I have consulted with the developers and my hosting provider regarding this problem. The hosting provider blames the problems on bad coding, and the developers blame the problem on the server being too slow.
I am inclined to put the blame on my hosting provider, since I have been in touch with someone else on our shared server (there are dozens of other sites hosted from the same Windows 2000 Advanced Server machine) and it appears that our two sites experience problems at the same time. Am I reasonable to fault the server rather than the code?
What should I do about this? One solution is to move to a dedicated server where we can have more resources - but this is rather expensive. Do you think the site could have been built in a more fault tolerant way? I found this link http://www.marzie.com/devtools/asp/error500.asp
, which looks useful for error handling, but I would rather not cause these 500 errors if possible (since it ruins the application process). Any thoughts on how to be more fault tolerant?