Autor Beitrag
Vitalic
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68



BeitragVerfasst: Di 24.08.10 16:41 
Hallo,

ich habe da mal eine Frage.

Wenn ich eine Verbindung zu einer Datenbank aufbaue, so hält diese nicht lange an.
Also, ich habe ein Menü erstellt, welche verschiedene Klassen aufruft, diese sind aber von einander abhängig.
In einem Menü "Datenbankeinstellungen" speichere ich meine Daten, anschließen gehe ich zu einem anderen Menüpunkt, der diese Verbindung nutzen möchte, doch das zuvor erzeugte Objekt existiert nicht mehr und ich kann somit diese nicht mehr nutzen.

Ich nutze aber diese Verbindung in vielen anderen Klassen auch und möchte nicht in jeder Klasse die Verbindung neu programmieren, das wäre doch unsinnig!

Was kann man da machen?

Danke für die Mühe!!!


Grüße

Vitalic
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 24.08.10 17:54 
Was meinst du mit "neu programmieren"? Du erstellst jedes Mal ein neues Connection-Objekt und gibst es am Ende der Methode über einen using-Block frei, das ist doch nicht aufwändig und so ist es gedacht. Wenn du an mehreren Stellen die Connection mit den gleichen Werten initialisieren müsstest, packst du das in eine Methode, die dann das neue Objekt zurückgibt.

_________________
>λ=
Vitalic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68



BeitragVerfasst: Mi 25.08.10 13:22 
@Kha

Das funktioniert so leider nicht!

1. Klasse DatabaseSettings:
Diese speichert die Settings und Öffnet eine Verbindung zur Datenbank(funktioniert einwandfrei!).
Ebenso hat diese Klasse eine Methode, welche das Connection Objekt zurückgibt.

2. Klasse DatabaseEntry:
Diese holt sich das Connection Objekt von DatabaseSettings und speichert bestimmte Einträge.


Problem:

Jede Klasse ist eine .aspx Klasse und auf jede wird per Menüpunkt einzeln zugegriffen.
Nachdem ich die Datenbankeinstellungen per SaveButton gespeichert habe und anschließend auf den Menüpunkt DatabaseEntry gehe, wo ich per TextBox die einzelnen Werte eingebe und in die Datenbank speichern möchte, ist das Connection Objekt leider null.

Es ist ja so ,dass die Verbindung abbricht, weil ASP über das http Protokoll kommuniziert, welches ja zustandslos ist. Deshalb gehen die Objekte mit dem PageLoad verloren.

Und ich brauche diese Objekte und habe momentan keinen Rat, wie ich diese zwischenspeichern könnte.
Vitalic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68



BeitragVerfasst: Mi 25.08.10 14:03 
Danke, aber ich habe die Lösung gefunden!

Stichworte wäre hier Sitzungsstatus, oder Serialisierung.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 25.08.10 17:54 
Und damit programmierst du am Connection-Konzept von ADO.NET vorbei. Die Connection soll so kurz wie möglich offen gehalten werden, du müsstest sie eben bei jedem Request neu instantiieren und öffnen.

_________________
>λ=