Невозможно сериализовать состояние сеанса, связанное с System.Data.Linq.EntitySet - PullRequest
1 голос
/ 23 ноября 2011

В последнее время я играю с Windows Server 2008 и хотел бы сделать некоторые настройки для моего веб-приложения.Я изменил Session State для своего приложения на «State Server», чтобы он мог использовать больше рабочих процессов (теперь он установлен на 4).

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

Невозможно сериализовать состояние сеанса .В режимах «StateServer» и «SQLServer» ASP.NET сериализует объекты состояния сеанса, и в результате несериализуемые объекты или объекты MarshalByRef не допускаются.То же ограничение применяется, если аналогичная сериализация выполняется в пользовательском хранилище состояний сеанса в режиме «Пользовательский».

Я подозреваю, что это связано с EntitySet, который я объявил, потому что я вижу это в трассировке стека при возникновении ошибки:

[SerializationException: Type 'System.Data.Linq.EntityRef`1 [[CtcSystem.Domain.Entities.Account.Account, CtcSystem.Domain, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null]] 'в сборке' System.Data.Linq, Version = 4.0.0.0,Культура = нейтральная, PublicKeyToken = b77a5c561934e089 'не помечена как сериализуемая.]

Я использовал тег [Сериализуемый] в своих классах, поэтому есть ли способ сделать это?сделать сериализуемый EntitySet, чтобы приложение могло работать под State Server?

Спасибо

1 Ответ

0 голосов
/ 07 мая 2012

Лучший способ - реализовать интерфейс ISerializable в частичном классе ...

...