Состояние сеанса SQL и ошибка JavaScript - PullRequest
0 голосов
/ 21 января 2011

Я переключил хранилище сеансов на сервер SQL через:

    <sessionState mode="SQLServer"
           sqlConnectionString="data source= jim; user id=jim;password=jim;"
           cookieless="false"
           timeout="20" />

  </system.web>

, и теперь я получаю следующую ошибку в этом коде

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

Microsoft JScript runtimeошибка: Sys.WebForms.PageRequestManagerServerErrorException: неизвестная ошибка произошла при обработке запроса на сервере.Код состояния, возвращаемый с сервера, был: 500

Если я оставлю сеанс по умолчанию, а не SQL Server, он будет работать нормально.Еще один момент, я могу добавить элементы к сеансу ОК - это, кажется, происходит при перезагрузке страницы - может быть, какая-то проблема AJAX?

С точки зрения настройки хранилища сеансов SQL я сделал это: http://support.microsoft.com/kb/317604

Приложение работает нормально, когда я его запускаю.

Заранее спасибо.

Джим

РЕДАКТИРОВАТЬ - В журнале приложения я теперь вижу: 'System.Web.UI.WebControls.ListItem' в сборке 'System.Web, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' не помечена как сериализуемая.

... и trueдостаточно, я добавляю элемент списка в состояние просмотра.Но почему это работает нормально - кроме случаев сохранения сессии в SQL?]

Еще раз спасибо!

Джим

Ответы [ 2 ]

0 голосов
/ 21 января 2011

Ну, когда вам нужно вывести / сериализовать контент, он должен вызвать serialize для получения потока. ListItem - это элемент управления пользовательского интерфейса, который не нужно сериализовать .. :) http://bytes.com/topic/asp-net/answers/322990-serializing-drop-down-list-data-sources-session-state

0 голосов
/ 21 января 2011

Похоже, это может быть хорошим ответом?

...