Originariamente inviato da barney09
Ad esempio nel caso in cui una pagina andasse per qualche motivo in crash, l'application magari rimane aperta, e non vengono piu' applicate le query....
Invece con MySql e il LOCK se si chiude la connessione (mal che vada c'è il time out) la tabella si sblocca.
Già, ma resterebbe sempre un periodo di inaccessibilità al database (non fino al riavvio del server in questo caso ovviamente).
Comunque con un po' di error handling anche il fatto che la connessione resti appesa (o l'application bloccata) si può limitare molto. Non amando molto i salti che fa fare l'On Error Resume/GoTo ho prenderei in considerazione anche questa (ho fatto il test sull'applicazione e non sulla connessione, ma va bene lo stesso):
codice:
<script language="JScript" runat="server">
function Test()
{
if(!Application("lock"))
{
try
{
Application.Lock;
Application("lock")=true;
Response.Write("
INSERT..");
Response.Write("
SELECT..");
Server.CreateObject("Fammi un errore a caso");
Response.Write("
DELETE..");
}
catch(e)
{
Response.Write("
Ho sbagliato..");
}
finally
{
Application("lock")=false;
Application.Unlock;
Response.Write("
Bye bye!");
}
}
}
Response.Write ("Stato applicazione: " + Application("lock"));
Test();
Response.Write ("
Stato application: " + Application("lock"));
</script>