2009-08-04 2 views
1

У меня есть сложный объект [Serializable], сохраненный в сеансе. У меня есть Silverlight 3.0 на моих страницах .aspx, которым нужен доступ к этим данным и их типу данных. Насколько я понимаю, Silverlight не поддерживает [Serializable], и ​​поскольку он работает на клиенте, у него нет простого доступа к сеансу. Я ищу надежный способ доступа к этим данным в моем файле Page.xaml.cs.Получить Сериализуемый объект из сеанса в Silverlight

Я открыт для хранения его в хранилище ISO после его восстановления, но как его получить, прочитайте его из Silverlight? Скрытые поля не являются опцией, так как это сложный тип данных с десятками свойств и несколькими словарями, списками других объектов.

ответ

1

Классический способ доступа к данным такого типа будет состоять из службы WCF с поддержкой Silverlight на сайте ASP.NET, который обращается к данным. Затем вы добавляете сервис-ссылку от клиента silverlight и запрашиваете у сервера данные (асинхронно).

Обратите внимание, что по умолчанию это будет отдельная объектная модель (прокси от «mex»). Если вам нужен один и тот же тип, вам придется повторить код на клиенте (вы не можете использовать совместный сбор между клиентом и сервером здесь).

Я не знаю, будет ли версия svcutil в Silverlight разрешать повторное использование типа (обычная версия), но если не другая опция - просто вернуть xml или двоичный код из службы и десериализовать локально. Один из вариантов здесь был бы чем-то вроде protobuf-net.

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