[ASP.NET] hoe behandelt asp.net het sluiten van de database

Pagina: 1
Acties:

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
Ik ben aan het proberen een mooi framework te bouwen voor ASP.Net en C# (o.a. met object mappers, maar dat doet er nu even niet toe). Waar het omgaat is dat ik in mijn code een aantal database connecties open naar een access database met een OleDbConnection. Ik ben 99% zeker dat ik ze allemaal weer sluit na gebruik. Toch zie ik op m'n server dat aspnet_wp.exe een groot aantal handles heeft naar zowel de database (.mdb) als naar de lock op de database (.ldb), welke niet meer verdwijnen na laden van de pagina. Meestal gaat dit goed, maar naar mijn idee kan het ook de oorzaak zijn van de volgende problemen:
1) soms kan ik geen veranderen aanbrengen in de database aanbrengen omdat hij gelockt is door een ander proces (dat moet wel bijna asp.net zijn)
2) na een x aantal keer snel laden van de pagina krijg ik een OleDbException: unspecified error. Enige remedie: IIS resetten.

Nu mijn vraag: moet ik nog iets anders doen aan opruimen behalve het sluiten van de connectie?
Hieraan gerelateerd de vraag: hoe behandelt ASP.Net het runnen van een webpagina. Start hij hiervoor een nieuw proces dat een tijd blijft bestaan of opent en sluit hij voor elke nieuwe refresh een proces? Soms heb ik ook sterk het idee dat een aantal objecten gecached blijft tussen de refreshes van uit de browser. Dit kan soms zeer irritant zijn. Ik heb dit probleem met name bij het singleton pattern, waarbij de instantie niet opnieuw gecreeerd wordt bij een refresh.

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Verwijderd

Wellicht is dit zinvol Best Practices for Using ADO.NET, en dan met name het deel over 'Using Connections', met opmerkingen over Connection Pooling.

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:17
Als je datareaders gebruikt, dan moet je die ook direct closen.

Als je connections allemaal dezelfde connectionstring gebruiken, dan zullen die connections gepooled worden, zodanig dat ze kunnen hergebruikt worden.

https://fgheysels.github.io/