Hey,
Ik heb een WebApplicatie gemaakt, waarmee ik bij elke verandering aan een database een nieuwe SQLConncetion gebruikte. Nu wilde ik dit terugbrengen, naar 1 connectie. Dit komt, omdat er soms zooo veel connecties worden gebruikt, dat de SQL server ze reject (iets met pooling, wat niet slim is om uit te zetten). De connecties lekken niet, dat is niet het probleem, maar ik wil een algemene overkoepelende connectie hebben die de hele applicatie kan benaderen, omdat de SQL server (niet express edition) de connecties in korte tijd niet aan kan...
Ik heb toen dit stuk code geschreven (omdat ik dacht de Application overal benaderd kon worden):
Deze code word aangemaakt in de "void Application_Start(object sender, EventArgs e)" functie, in de global file. Elke keer als de applicatie start, word als het goed is Application["SQLConn"] gedeclareerd.
In een class, genaamd page.cs doe ik dan het volgende (in een class dus):
Dit levert echter de volgende error op:
Error 2 The name 'Application' does not exist in the current context
Volgensmij kent de class Application niet, omdat hij niet direct deel uit maakt van de application, hij moet telkens met "new" aangemaakt worden. Toch vroeg ik mij af hoe ik zoiets kan doen? Ik kan natuurlijk telkens het object meegeven tijdens het "new" doen (ik weet niet wat de naam hiervoor is..).
Hoe kan ik dus er voor zorgen dat ik 1 connectie heb die de hele webapplicatie kan gebruiken?
Alvast bedankt
Ik heb een WebApplicatie gemaakt, waarmee ik bij elke verandering aan een database een nieuwe SQLConncetion gebruikte. Nu wilde ik dit terugbrengen, naar 1 connectie. Dit komt, omdat er soms zooo veel connecties worden gebruikt, dat de SQL server ze reject (iets met pooling, wat niet slim is om uit te zetten). De connecties lekken niet, dat is niet het probleem, maar ik wil een algemene overkoepelende connectie hebben die de hele applicatie kan benaderen, omdat de SQL server (niet express edition) de connecties in korte tijd niet aan kan...
Ik heb toen dit stuk code geschreven (omdat ik dacht de Application overal benaderd kon worden):
C#:
1
2
3
| //Connectie maken Application["SQLConn"] = new System.Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings["connection_string"]); ((System.Data.SqlClient.SqlConnection)Application["SQLConn"]).Open(); |
Deze code word aangemaakt in de "void Application_Start(object sender, EventArgs e)" functie, in de global file. Elke keer als de applicatie start, word als het goed is Application["SQLConn"] gedeclareerd.
In een class, genaamd page.cs doe ik dan het volgende (in een class dus):
C#:
1
2
3
4
5
| // Query uitvoeren command = new SqlCommand("", ((SqlConnection)Application["SQLConn"])); command.CommandText = "Lange query waar niemand iets aan heeft..."; reader = command.ExecuteReader(); |
Dit levert echter de volgende error op:
Error 2 The name 'Application' does not exist in the current context
Volgensmij kent de class Application niet, omdat hij niet direct deel uit maakt van de application, hij moet telkens met "new" aangemaakt worden. Toch vroeg ik mij af hoe ik zoiets kan doen? Ik kan natuurlijk telkens het object meegeven tijdens het "new" doen (ik weet niet wat de naam hiervoor is..).
Hoe kan ik dus er voor zorgen dat ik 1 connectie heb die de hele webapplicatie kan gebruiken?
Alvast bedankt