Forums Neueste Beiträge
 

Multithreading oder nicht?

20/10/2007 - 20:37 von Rudolf Meier | Report spam
Hallo zusammen

Wieviele Instanzen eines "Webprojekts" werden auf dem Server eigentlich
ausgeführt (vom gleichen Projekt natürlich)?? Und... wenn da mehrere
ausgeführt werden sollten... dann müsste man ja beim Zugriff auf eine DB mit
Problemen rechnen, wenn die Zugriffe exklusiv erfolgen... ist das so? Ein
OleDbConnection.Open()... was löst das aus? Dass niemand anders mehr drauf
zugreiffen kann?? ... und wenn nicht... heisst das, dass die Seite für den
zweiten Aufrufer extrem langsam erscheint, wenn die Verarbeitung für den
ersten Aufrufer mehrere Minuten dauert? ... gibt's dazu eigentlich irgendwo
Infos? Ich hab nichts dazu gefunden...

Rudolf Meier
 

Lesen sie die antworten

#1 Thomas Bandt
20/10/2007 - 20:51 | Warnen spam
Rudolf Meier schrieb:
Hallo zusammen



Hallo,

versuch's in Zukunft bitte mal mit Absàtzen, liest sich
einfach besser.

Wieviele Instanzen eines "Webprojekts" werden auf dem Server eigentlich
ausgeführt (vom gleichen Projekt natürlich)?? Und... wenn da mehrere
ausgeführt werden sollten... dann müsste man ja beim Zugriff auf eine DB
mit Problemen rechnen, wenn die Zugriffe exklusiv erfolgen... ist das
so? Ein OleDbConnection.Open()... was löst das aus? Dass niemand anders
mehr drauf zugreiffen kann?? ... und wenn nicht... heisst das, dass die
Seite für den zweiten Aufrufer extrem langsam erscheint, wenn die
Verarbeitung für den ersten Aufrufer mehrere Minuten dauert? ... gibt's
dazu eigentlich irgendwo Infos? Ich hab nichts dazu gefunden...



Stichwort: Connection Pooling:
http://www.codeproject.com/Purgator...ooling.asp

Wichtig: alle Verbindungen sofort wenn sie nicht mehr gebraucht
werden schließen, am einfachsten mittels using-Statement:

using(SqlConnection connection = new SqlConnection())
{
}

Das wird vom Compiler in ein try/catch/finally umgebaut, was dir
in jedem Fall, also auch wenn eine Exception geworfen wird, dafür
sorgt, dass die Verbindung wieder geschlossen wird, ein manuelles
Close() ist nicht mehr nötig, womit weniger Fehler passieren.

Ein Datenbankabruf der mehrere Minuten dauert sollte nicht
vorkommen, riecht zumindest stark nach Designfehler.

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de - Beratung, Entwicklung
http://blog.thomasbandt.de - Thomas goes .NET

Ähnliche fragen