Domanda

Nelle applicazioni legacy al lavoro, non vedo recordset chiusi sparsi su molte pagine.

  • Quali conseguenze ha questo?
  • La connessione si chiude automaticamente?
  • Le risorse vengono rilasciate alla fine di ogni richiesta?

Aggiornamento:

TXN!

È stato utile?

Soluzione

  
      
  • Quali conseguenze ha questo?
  •   

Le risorse non vengono liberate così rapidamente e, a seconda del resto, le prestazioni del codice ne risentiranno.

  
      
  • La connessione si chiude automaticamente?
  •   
  • Le risorse vengono rilasciate alla fine di ogni richiesta?
  •   

Alla fine dell'esecuzione della pagina, tutte le connessioni vengono interrotte e tutte le risorse rilasciate. Alcuni ritengono che, dato che ciò accade, non è necessario preoccuparsi di chiudere esplicitamente le connessioni e / o di rilasciare risorse.

A parità di condizioni, fare affidamento su questo non è qualcosa di incoraggiato in quanto non si sa mai come andranno le cose nel traffico intenso - motivo per cui tutti i buoni tutorial / istruttori ti diranno di aprire solo quando ne hai bisogno, e rilasciare non appena hai finito.

Altri suggerimenti

Chiudi recordset non chiude la connessione

http://www.devguru.com/technologies/ado/QuickRef /recordset_close.html

Dovresti sempre chiudere le connessioni il prima possibile, per rilasciarle nuovamente nel pool di connessioni.

Un sistema che perde le connessioni rallenterà e gradualmente si arresterà.

Se non lo si chiude, si verificano perdite di memoria, che possono consumare rapidamente le risorse. IIS alla fine pulirà le risorse per te, ma non è molto affidabile. È più sicuro e più affidabile chiudere esplicitamente il recordset e quindi impostarlo su nulla per liberare risorse. Assicurati inoltre di chiudere la connessione e di impostarla su niente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top