Overleg:Programmeren in ASP.net 2.0 N-Tier Tutorial/Common Laag/Database.cs
Onderwerp toevoegenpublic DbTransaction BeginTransaction() {
DbConnection con = _factory.CreateConnection(); con.ConnectionString = ConnectionString; con.Open(); return con.BeginTransaction();
}
Dit zal een open connectie in de SQL pool achterlaten en bij veel gebruik de pool vol laten lopen. Wanneer je een Transaction begint in je code en een .Commit() uitvoerd wordt het Connection object op NULL gezet. Dit betekent dat je nooit een .Connection.Close() kan doen.
Je kan ook gewoon de connectie meegeven van de class zelf.
public DbTransaction BeginTransaction() {
//Update - volgende 2 regels commented - Volgens mij zijn deze regels nutteloos... //DbConnection con = _factory.CreateConnection(); //con.ConnectionString = ConnectionString; if(this.Connection.State == ConnectionState.Closed) this.Connection.Open();
return this.Connection.BeginTransaction();
}
Let wel even op dat je bij de andere methods ook de connectie alleen opened als die al closed is. Aangezien je bij een transaction de connection gewoon open laat. Dit kan je door 'if(this.Connection.State == ConnectionState.Closed)' toe te voegen aan de methods in Database.cs of een extra method aan maken voor het sluiten van de connectie.
Begin een overleg over Programmeren in ASP.net 2.0 N-Tier Tutorial/Common Laag/Database.cs
Op overlegpagina's wordt besproken hoe we de inhoud op Wikibooks zo goed mogelijk kunnen maken. U kunt deze overlegpagina gebruiken om een overleg te starten over het verbeteren van Programmeren in ASP.net 2.0 N-Tier Tutorial/Common Laag/Database.cs.