Pergunta

Em aplicações legadas no trabalho, eu vejo registros não fechadas espalhadas em lotes de páginas.

  • Que consequências que isso tem?
  • Será que a estreita ligação automaticamente?
  • Os recursos estão liberados no final de cada pedido?

Update:

txn!

Foi útil?

Solução

  • Que consequências que isso tem?

Recursos não se libertou-se tão rapidamente, e, dependendo do resto do desempenho do código vai sofrer.

  • Será que a estreita ligação automaticamente?
  • Os recursos estão liberados no final de cada pedido?

No final da execução da página, todas as ligações são terminadas e todos os recursos liberados. Algumas pessoas acreditam que, uma vez que isso acontece, não há necessidade de se preocupar com conexões de fechamento explicitamente e / ou recursos de liberação.

Todas as coisas são iguais, dependência de isto não é algo que é incentivado como você nunca sabe como as coisas vão jogar fora no tráfego pesado - é por isso que todos os bons tutoriais / instrutores vão dizer-lhe para abrir somente quando você precisa, e liberar assim que tiver terminado.

Outras dicas

Fechar conjunto de registos não fecha a conexão

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

Você deve conexões sempre perto, logo que possível, para liberá-los de volta para o pool de conexão.

Um sistema que conexões vazamentos vai abrandar e gradualmente grade a um impasse.

Se você não fechá-lo você terá vazamentos de memória, que podem rapidamente consumir os seus recursos. IIS recursos, eventualmente limpas para você, mas não é muito confiável. É mais seguro e mais confiável para fechar explicitamente o conjunto de registros e, em seguida, configurá-lo para nada para liberar recursos. Também não se esqueça perto sua conexão e configurá-lo para nada bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top