Отслеживание неверного аргумента обратной передачи или обратного вызова

В моей необработанной регистрации исключений я вижу эту ошибку время от времени на данной странице. У меня нет никаких элементов управления, которые я создаю программно на странице или не привязываю кнопки к странице.

В моем журнале я получаю текущий обработчик, откуда я знаю страницу и трассировку стека, однако трассировка стека не дает ничего значимого, поскольку она просто говорит, что сводится к Page.ProcessPostData.

Есть ли способ, которым я могу регистрировать более значимые данные? Например, что было опубликовано и что ожидается?

Я никогда не смогу воспроизвести это нигде.

2 ответа

Решение

Вы можете увидеть все параметры формы запроса следующим образом:

if (System.Web.HttpContext.Current != null && System.Web.HttpContext.Current.Request != null) {
    foreach (string key in System.Web.HttpContext.Current.Request.Form.Keys) {
        if (key.IndexOf("__VIEWSTATE") == -1) {
            //key:   key
            //value: System.Web.HttpContext.Current.Request.Form[key]
        }
    }
}

Распространенной причиной этой проблемы является то, что пользователь не ждет отрисовки всей страницы перед выполнением действия, которое вызывает обратную передачу. Насколько велика эта страница? Пользователи становятся нетерпеливыми?

Другое место, которое я вижу, это с повторителями / шаблонными элементами управления с элементами управления обратной передачей внутри - как кнопка внутри шаблона элемента повторителя - которые неправильно привязывают данные после обратной передачи, а не только один раз. Тем не менее, это будет постоянно терпеть неудачу, поэтому кажется менее вероятным.

Я не уверен, как получить больше информации из исключения... Как вы ловите это с самого начала? Я не думаю, что сам объект Page вообще создается при возникновении этого исключения, поэтому вам, вероятно, придется использовать пользовательский модуль HttpModule. Можете ли вы сделать попытку / поймать вокруг ProcessRequest? Это должно дать вам доступ к объекту запроса и опубликованным данным.

Другие вопросы по тегам