Я использую портативную библиотеку классов в своем приложении asp.net, и при развертывании в Azure мое состояние сеанса должно быть сериализовано. Классы из этого PCL не имеют SerializableAttribute sinds, которые недоступны в подмножестве framework. Не могу ли я поместить эти классы в сеанс ASP.NET?Как бинарно сериализовать класс в портативной библиотеке классов?
7
A
ответ
3
Ну, вы можете использовать один из доступных сериализаторов 3 участника, которые доступны для портативной библиотеки классов:
- protobuf-net - бинарного
- Json.NET
Оба доступен на NuGet
Это означало бы, что мне пришлось бы написать собственный провайдер состояния сеанса, или как я могу сделать Azure State P rovider использовать мой собственный сериализатор? – rboeije
Вы также можете сериализовать свой класс и преобразовать его в строку и вставить строку в сеанс. Другой вариант - написать собственный поставщик состояния сеанса, который использует ваш собственный сериализатор. – dna
@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()'. –