Performance-Problem (NET 2.0)

03/11/2008 - 15:51 von Volkmar Waluga | Report spam
Hallo allerseits,

ich wende mich mal mit einem Performance-Problem an das Forum, bei dem ich
nicht weiß, wie man das am besten lösen kann. Folgende Situation:

Meine Anwendung startet auf dem SQL-Server eine StoredProcedure, die recht
komplex Daten zusammenstellt und die Ergebnisse in einem CrystalReport
darstellt. Dieser Vorgang dauert manchmal (z.B. beim ersten Start) so lange,
dass es zum Timeout kommt. Damit der User nicht ungeduldig herumklickt möchte
ich ihm eine Info geben und habe dazu ein kleines Form erstellt, auf dem ein
LoadingCircle laufen soll. Das Form ist funktionsfàhig vorhanden.
Den Start und das Ende habe ich in „Öffnen“ und „Schließen“ der
Server-Connection eingebunden und das funktioniert auch. Das Form startet,
aber der LoadingCircle erscheint erst dann, wenn die SP fertig ist. Sie
benötigt offenbar die gesamte Prozessorleistung.

Erste Frage: Wie kann ich die zeitliche Beschrànkung für die Abfrage
verlàngern?
Zweite Frage: Wie kann ich den LoadingCircle „sichtbar“ machen?

Für eine Hilfestellung wàre ich sehr dankbar.

Gruß Volkmar
 

Lesen sie die antworten

#1 Frank Dzaebel
03/11/2008 - 16:11 | Warnen spam
Hallo Volkmar,

Erste Frage: Wie kann ich die zeitliche Beschrànkung
für die Abfrage verlàngern?



[SqlCommand.CommandTimeout-Eigenschaft (System.Data.SqlClient)]
http://msdn.microsoft.com/de-de/lib...meout.aspx

(vermutlich hast Du keine Probleme beim ConnectTimeout).




Zweite Frage: Wie kann ich den LoadingCircle „sichtbar“ machen?



Manchmal nutzt schon ein Application.DoEvents();
davor. Es kommt aber auf die Implementation Deines
LoadingCircles an. Ggf. reicht Dir ja auch:

Cursor = Cursors.WaitCursor;

Das ist in Vista ja auch schon (normal) eine
Art "Loading-Circle".
Ansonsten natürlich auch ggf. die Vorgànge in
Threads verlagern - je nach Implementation.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen