Is it possible to unstick a remote IIS ASP server after an exception hangs the session?
I have been coding an app in classic ASP that accesses 2 Access databases. I had a page I was working on throw an exception, which is no开发者_如何学运维rmal during development and causes no lasting problems. This time however, after the exception any attempt to open either of the databases would freeze the session with an infinite script timeout. If I delete the session cookie I an able to access ASP pages again until I try to open the database again.
The database that was open when the exception was thrown is left open. There is a LDB lock file and I can't rename or delete either the LDB or MDB file, though I can download the MDB file with FTP. The 2nd access database is not open but any attempt to read this also hangs the session.
Accessing HTML pages is fine.
The site is hosted with Hostway and they are not interested ("Coding problem = Your problem" even though it leaves my site dead in the water, I suspect until the next reboot, whenever that might be).
Here is the dump from the relevant ASP page that threw the exception:
Active Server Pages error 'ASP 0115'
Unexpected error
/translatestats.asp
A trappable error (C0000005) occurred in an external object. The script cannot continue running.
Active Server Pages error 'ASP 0240'
Script Engine Exception
/translatestats.asp
A ScriptEngine threw exception 'C0000005' in 'IActiveScript::Close()' from 'CActiveScriptEngine::FinalRelease()'.
Is there any way I can unstick the site / force close the database remotely ?
The process hosting your site has entered into an unknown state. The exception C0000005 is an access violation.
The only way to recover this situation is to end the process which in IIS speak means to recycle the application pool that your app runs in.
IIS6 at least restart app pools every 26 hours.
(https://serverfault.com/questions/108898/restart-iis-app-pool-automatically)
try this for some restart script
http://forums.iis.net/t/955382.aspx
精彩评论