ASP.NET Globale Datenbankverbindung?

Railer

Mitglied
Hallo!

Ich komme urprünglich aus dem Derlphi-Bereich und habe vor kurzem angefangen ASP.NET zu programmieren. Ich hätte eine Frage bezüglich der Datenbankanbindung. Ist es möglich unter ASP.NET eine globale Datenbankanbindung herzustellen, die beim Application_Start geöffnet wird und beim Application_End geschlossen?
Das Problem ist, dass ich mehrere WebForms habe und aus in jeder Form wird eine Datenbankverbindung benötigt. Muss ich denn jetzt für jede Form ein separates "oleDBConnection"-Object erstellen und damit jedesmal zur Datenbank connecten und dann closen? Ich habe probiert in "global.aspx" einen globalen "oleDBConnection"-Object zu erstellen, aber den kann ich in meinen Forms nicht sehen, auch nicht wenn ich ihn als "public" deklariere.

Ich wäre sehr dankbar für die Hilfe.
 
Leider sind die Verbindungen in ASP.NET stateless, d.h. in Delphi z.B. hättest du eine konstante Verbindung von Server zu Client (z.B. über LAN). Bei ASP.NET besteht keine permanente Verbindung. Jede Anfrage ist eine neue Anfrage eines wieder unbekannten Clients. Für den Server ist sein Job mit dem Absenden der Seite erledigt.
Deine Objekte bleiben ja, wenn du die Seite neu lädst auch nicht erhalten, sondern werden neu initialisiert, das ist am Anfang recht gewöhnungsbedürfitg, wenn man vorher in Delphi davon ausgehen konnte, das ein Objekt, das man initialisierte kurz später auch noch existent war.
Allerdings wurden von Microsoft einige Optimierungen vorgenommen. So wird deine Connection wahrscheinlich nur gepoolt und beim Aufruf mit exakt den gleichen Parametern auf einer anderen Seite wieder reaktiviert.
Ansonsten erspart dir eine globale Definition nur die Copy&Paste-Methode. ;)
 
Vielen Dank für die Hilfe.

Dann würde mich noch eine Sache interessieren. Was wäre empfehlneswerter: eine Datenbankverbindung einzeln in jeder Prozedur aufzubauen, oder eine Form-globale Verbindung, die ich in jeder Prozedur benutze?
 
Ich würde die Verbindung einmal öffnen und erst weider schließen wenn ich sie nicht mehr brauche. Du kannst z.B. am Anfang jeder Methode prüfen, ob die Verbindung schon offen ist und sie öffnen, falls das noch nicht der Fall ist.
 
Zurück