Ошибка получения последней ошибки без использования страницы Global.asax - PullRequest
1 голос
/ 27 сентября 2010

Я установил пользовательскую ошибку на своем сервере и перенаправляю на страницу, как показано ниже

<customErrors mode="On"> 
   <error statusCode="500" redirect="/servererror/default.aspx" /> 
</customErrors>

Когда он попадает на страницу servererror/default.aspx Мне нужно отправить мне электронное письмо с exception.message

Вот что я пытаюсь, но это не сработает

Sub Page_load(ByVal sender As Object, ByVal e As EventArgs)

     Dim LastError As Exception
     Dim ErrMessage As String

     LastError = Server.GetLastError()


        ErrMessage = LastError.Message


Dim Errormail = New MailMessage

     'Send email to me
     Errormail.To           = "email@email.co.uk"

     Errormail.From         = "servererror@email.co.uk"
     Errormail.Subject      = "Server Error Alert"
     Errormail.BodyFormat   = MailFormat.Text
     Errormail.Priority     = MailPriority.Normal
     Errormail.Body         = ErrMessage

     SmtpMail.SmtpServer    = "localhost"

     SmtpMail.Send(Errormail)

     Server.ClearError()
End Sub

Любая помощь будет высоко ценится

Спасибо

Джейми

1 Ответ

1 голос
/ 27 сентября 2010

Смотрите здесь: Страница пользовательской ошибки ASP.NET - Server.GetLastError () имеет значение null

вам нужно добавить редирект:

<customErrors mode="On" redirectMode="ResponseRewrite"> 
   <error statusCode="500" redirect="/servererror/default.aspx" /> 
</customErrors>
...