Kann ich eine Benachrichtigung von Global.asax auf einer Seite zeigen, die ein SQL-Timeout ist zu erfahren?
-
10-07-2019 - |
Frage
In Global.asax, ist es eine Möglichkeit, SQL-Timeouts elegant zu handhaben, und eine Meldung, die den Fehler auf der anfordernden Seite angezeigt werden? Ich weiß Global.asax die Application_Error und Fehlerereignisse hat, aber ich bin nicht sicher, welche (falls vorhanden) ich verwenden könnte dies zu erreichen.
Verwandte, kann ich auf die Seite Instanz, die den Fehler ausgelöst, dass Global.asax ist der Umgang mit?
Danke!
Lösung
In Global.asax.vb
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
If TypeOf (Context.Error.GetBaseException) Is System.Data.SqlClient.SqlException Then
Dim ex As System.Data.SqlClient.SqlException = Context.Error.GetBaseException
If (ex.Errors.Count = 1 And ex.Number = -2) Then
Server.ClearError()
Response.Redirect(Context.Request.Url.ToString() & "?error=MessageHere")
End If
End If
End Sub
In C #
public void Application_Error(object sender, EventArgs e)
{
if ((Context.Error.GetBaseException) is System.Data.SqlClient.SqlException) {
System.Data.SqlClient.SqlException ex = Context.Error.GetBaseException;
if ((ex.Errors.Count == 1 & ex.Number == -2)) {
Server.ClearError();
Response.Redirect(Context.Request.Url.ToString() + "?error=MessageHere");
}
}
}
Andere Tipps
Sie könnten die web.config benutzerdefinierten Fehler verwenden wie hier erklärt
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow