2013-02-18 2 views
7

Я использую портативную библиотеку классов в своем приложении asp.net, и при развертывании в Azure мое состояние сеанса должно быть сериализовано. Классы из этого PCL не имеют SerializableAttribute sinds, которые недоступны в подмножестве framework. Не могу ли я поместить эти классы в сеанс ASP.NET?Как бинарно сериализовать класс в портативной библиотеке классов?

ответ

3

Ну, вы можете использовать один из доступных сериализаторов 3 участника, которые доступны для портативной библиотеки классов:

Оба доступен на NuGet

+1

Это означало бы, что мне пришлось бы написать собственный провайдер состояния сеанса, или как я могу сделать Azure State P rovider использовать мой собственный сериализатор? – rboeije

+2

Вы также можете сериализовать свой класс и преобразовать его в строку и вставить строку в сеанс. Другой вариант - написать собственный поставщик состояния сеанса, который использует ваш собственный сериализатор. – dna

+0

@dna +1 для Json.NET. И в отношении вашего комментария * «преобразуйте его в строку и вставьте строку в сеанс» *, я нашел следующую статью полезной с точки зрения * where *, чтобы поместить такую ​​логику: [Работа над вашими проблемами сериализации сеансов ASP.Net] (http://blogs.msdn.com/b/schlepticons/archive/2008/08/24/work-around-your-asp-net-session-serialization-issues.aspx). то есть адаптироваться в 'Application_PostAcquireRequestState()' и 'Application_PostRequestHandlerExecute()'. –

Смежные вопросы