04. september 2006 - 21:10Der er
12 kommentarer og 1 løsning
Åbner ny connection hver gang
Jeg har lavet en server app, som bliver kaldt af 2-3 clienter max.
Men for næsten hver gang en client laver et kald, oprettet min server en ny db connection.
Jeg benytter C# 2.0 på en W2K op imod en SQL 2005
Min connection string: string connString = "Data Source=sql2.domain.dk;Initial Catalog=myDatabase;User Id=myDBUser;Password=myPassword;"
Samtlige kald til databasen bliver rejst ved: SqlCommand command = new SqlCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = storedProcedure; command.Connection = new SqlConnection(connString);
Jeg har kørt sp_who på min SQL server, og den viser ca. 80 connections: Status.....Login......Database.....Command SLEEPING - myDBUser - myDatabase - AWAITING COMMAND
Til sidst ender jeg med at få ConnectionPool exception.
command.Connection.Open() } catch { bla bla... } finally { command.Connection.Close(); command.Connection.Dispose(); // Har også prøve at indsætte denne }
Hvis du kalder Close og alligevel får pool exceptiom, så tror jeg at du har tildelt færre connections i SQLServer end default i .NET connection pool (100).
Jeg får skam 100 connections, førend den min pool exceeder.
Men desuden vil jeg ikke have 100 connections. Det gør den sløv, og når først jeg får en lille håndfuld af applicationer kørende bliver det et stort problem.
Exception: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
... at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open()
Tjo... Men principielt har jeg aldrig før haft dette problem, og har faktisk altid syntes at default indstillingerne har fungeret optimalt for disse små apps, så det generer mig voldsomt hvis jeg skal til at lave projekt orienterede konfiguration af dette.
Men der ud over har jeg ikke oplevet problemet i et helt døgn nu.... uden at have lavet nogle ændringer... Har kørt i 3 uger med dette problem, hvor den har crashet hver dag, og nu pludselig ikke i et døgn. Jeg afventer "spændt" at det skal ske igen....?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.