Frage

Ich habe gerade mein erstes hochgeladen ASP.NET (als Teil meines Lernens vb.net) und geriet in schreckliche Verwirrung mit den Verbindungs-pooling (lustige Dinge passieren, wenn es mehr als 1 Benutzer Ihrer web-site) alles sortiert ist jetzt durch eine bessere Nutzung der try-catch-Anweisungen (gut die Idee war, zu lernen), ABER ich Frage mich, ob dies die beste / Letzte Methode, jetzt, wenn der Versuch scheitert, dann eine MENGE der Details auf der Seite ist nicht gesetzt/aktualisiert so, wenn Sie tun, einige Datenbank-Arbeit und der Versuch scheitert, tun Sie laden Sie die Seite neu ...umleiten, um sich selbst und hoffen, dass es das nächste mal arbeiten ...oder einfach nur den Benutzer zu informieren, es war ein Fehler, und Sie sollten es noch einmal versuchen ?

Vielen Dank

War es hilfreich?

Lösung

Sie sollten auf jeden Fall verwenden 'using"Aussagen, die für alle Objekte implementieren IDisposable (wie verbindungen und Leser).Ein 'using' - Anweisung wird übersetzt in einen try-finally-block unter die Decke, und stellt sicher, dass die Dispose() aufgerufen wird, auch wenn ein Fehler Auftritt.

Hier ist ein code-snippet-Beispiel:

using (SqlConnection conn = new SqlConnection(this.connectionString))
{
    using (SqlCommand cmd = conn.CreateCommand())
    {
        cmd.CommandText = "LoadFromRepository";
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@ID", fileID);

        conn.Open();
        using (SqlDataReader rdr =
                   cmd.ExecuteReader(CommandBehavior.CloseConnection))
        {
            while (rdr.Read())
            {
                // do something with read data
            }
        }
    }
}

Andere Tipps

Wenn ein unerwarteter Fehler Auftritt, leiten Sie den Benutzer zu einem Fehler Seite so, wie es wahrscheinlich geschehen wird, das nächste mal auch.

Haben Sie sich in "Using" - Anweisungen für DB-verbindungen und Leser?

Ich würde nie automatisch umgeleitet werden, und hoffen, dass es wird Arbeit nächsten Zeit (Sie könnten sich in eine unendliche Schleife).

Informieren Sie die Benutzer-und Optional einen link zu versuchen es erneut.

Sie selbst möchten vielleicht analysieren Sie Ihre Ausnahme zu sehen, wenn die anderen versuchen zu helfen.Einige Ausnahmen sind wirklich stört, und die anderen versuchen, nicht helfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top