Захват данных по тайм-ауту запроса - PullRequest
0 голосов
/ 17 февраля 2012

Я получаю много тайм-аутов на странице Ashx, которая обрабатывает загрузку файлов в моем веб-приложении. Можно ли как-то зафиксировать время ожидания и записать некоторые данные о загрузке, чтобы лучше понять, в чем проблема?

Регистратор будет выглядеть примерно так, мне просто нужно прикрепить его к исключению тайм-аута!

Private Sub LogTimeoutException(context As HttpContext)
    'Gather the data
    Dim sb As New StringBuilder()
    sb.AppendLine(String.Format("Toal files: {0}", context.Request.Files.Count))
    For Each f As HttpPostedFile In context.Request.Files
        sb.AppendLine(String.Format("{0} ({1}): {2}", f.FileName, f.ContentType, f.ContentLength))
    Next

    'Log it
    Dim l As New BitFactory.Logging.FileLogger(context.Server.MapPath("~/timeoutlog.txt"))
    l.LogInfo(sb.ToString())
End Sub

1 Ответ

0 голосов
/ 17 февраля 2012

Любая причина, почему попытка перехвата не сработает?

Private Sub LogTimeoutException(context As HttpContext)
    Dim sb As New StringBuilder()
    Try
        //gather the data
        sb.AppendLine(String.Format("Toal files: {0}", context.Request.Files.Count))
        For Each f As HttpPostedFile In context.Request.Files
            sb.AppendLine(String.Format("{0} ({1}): {2}", f.FileName, f.ContentType, f.ContentLength))
        Next
    Catch he As HttpException    
        //Log it
        Dim l As New BitFactory.Logging.FileLogger(context.Server.MapPath("~/timeoutlog.txt"))
        l.LogInfo(sb.ToString())
    End Try
End Sub
...