2009-05-29 1 views
4

У меня есть класс, который отмечен как сериализуемые и не имеет никаких проблем, хранящие его в сессии, но при попытке сохранить его в ViewState я получаю:Не может сериализовать объект для ViewState сеанса только

Sys.WebForms.PageRequestManagerServerErrorException : Значение сериализации ошибки

ответ

3

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

Посмотрите на this article и документацию для LosFormatter, чтобы узнать, можете ли вы найти некоторые сведения о том, что является причиной вашей проблемы.

+0

Адрес этой статьи изменен: http://weblogs.asp.net/vga/archive/2004/06/09/ViewstateSerializationOneMoreTime.aspx – MatteKarla

+0

Спасибо. Исправлена ​​ссылка. –

0

Ну, это также зависит от того, какую сессию вы используете. Если это в-proc, сериализация вообще не происходит. Ваши объекты хранятся в памяти.