Ошибка обратной передачи UpdatePanel: Sys.WebForms.PageRequestManagerParserErrorException - PullRequest
4 голосов
/ 31 января 2012

Уже посмотрел на это: Sys.WebForms.PageRequestManagerParserErrorException - что это такое и как этого избежать

Проблема в том, что это происходит только на моем устройстве разработчика. Два других разработчика в порядке.

Это согласованно и воспроизводимо - я пытался удалить временные интернет-файлы, удалил файлы obj и bin и перезагрузился.

Ответ явно усекается, когда я смотрю на него в отладчике при обнаружении ошибки.

Где еще мне нужно проверить, чтобы очистить / очистить?

Ошибка, которую я вижу в коде:

Ошибка выполнения Microsoft JScript: Sys.WebForms.PageRequestManagerParserErrorException: сообщение полученный от сервера не может быть проанализирован. Общие причины для этого ошибка, когда ответ модифицируется вызовами Response.Write (), Фильтры ответов, HttpModules или трассировка сервера включены. Подробности: Ошибка разбора рядом с '</tr> ».

_endPostBack: function PageRequestManager$_endPostBack(error, executor, data) {
    if (this._request === executor.get_webRequest()) {
        this._processingRequest = false;
        this._additionalInput = null;
        this._request = null;
    }

    var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
    Sys.Observer.raiseEvent(this, "endRequest", eventArgs);
    if (error && !eventArgs.get_errorHandled()) {
        throw error; // THIS IS WHERE THE ERROR IS THROWN
    }
},

Это во время обратной передачи Ajax.

  1. Нет откликов. Напишите звонки.

  2. Я использую сервер разработки Cassini / VS 2010, как мне узнать, есть ли фильтры?

  3. * 1033 Ditto *

  4. Трассировка сервера не включена

  5. Нет звонков на сервер. Перевод

В firebug я вижу, что ответ на POST обрезан. Проблема возникает в Firefox или IE, и я отлаживаю в VS или нет.

Проблема действительно исчезнет, ​​если я переключусь на IIS Express в Visual Studio, а затем вернется, когда вернусь на сервер разработки ASP.NET.

Ответы [ 4 ]

3 голосов
/ 11 марта 2012

Я видел эту проблему раньше с Кассини.Я решил это, добавив в Web.config следующее:

<system.web>
  <httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  </httpModules>
</system.web>

Запись выше для версии 1.0.Убедитесь, что атрибуты Version и PublickKeyToken соответствуют используемой версии ASP.net Ajax.Также вы можете отключить проверку событий на своей странице:

enableEventValidation="false"

Надеюсь, это поможет!

2 голосов
/ 13 марта 2012

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

Так что, если состояние просмотра очень большое, возможно,это проблема.

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

Возможные решения:сжать состояние представления и / или разрезать его на более мелкие части.

Вы также можете загрузить последнюю версию Cassini для разработчиков с множеством улучшений http://cassinidev.codeplex.com/, которые могут решить эту проблему.

2 голосов
/ 09 марта 2012

Используете ли вы какое-то сжатие модуля http?Кажется, это вызывает проблемы, очень похожие на ваши, при использовании панелей обновления.Пожалуйста, просмотрите это сообщение .

Если вы не используете сжатие, возможно другая ошибка, связанная с httpmodule , заставляет вас страдать.Попробуйте добавить это на свою веб-страницу:

enableEventValidation="false"

Может быть, вы могли бы поймать исключение с помощью кода такого типа:

 protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
    {
        ScriptManager1.AsyncPostBackErrorMessage = e.Exception.Message+e.Exception.StackTrace ;
    }

<asp:ScriptManager ID="ScriptManager1" runat="server" 
            OnAsyncPostBackError="ScriptManager1_AsyncPostBackError">
</asp:ScriptManager> 

Источник для этой последней вещи.

0 голосов
/ 03 апреля 2013

Ошибка:

Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500

Решение:

<add key="aspnet:MaxHttpCollectionKeys" value="100000"/ >

Добавьте вышеуказанный ключ в раздел настроек приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...