2009-08-04 13 views
1

私は複雑な[Serializable]オブジェクトをセッションに格納しています。 .aspxページにこのデータとそのデータ型にアクセスする必要があるSilverlight 3.0アイランドがあります。 Silverlightは[Serializable]をサポートしておらず、クライアント上で実行されているため、セッションに簡単にアクセスすることはできません。私はPage.xaml.csファイル内のこのデータにアクセスするための堅実な方法を探しています。Silverlightでセッションからシリアル化可能オブジェクトを取得する

ISO Storageに格納されていればそれを取得することはできますが、取得する方法はSilverlightから読み取ることができますか?隠しフィールドは、数十のプロパティを持つ複雑なデータ型であり、いくつかの辞書、他のオブジェクトのリストであるため、オプションではありません。

答えて

1

このタイプのデータにアクセスする従来の方法は、データにアクセスするASP.NETサイト上のSilverlight対応WCFサービスを使用することでした。その後、Silverlightクライアントからサービス参照を追加し、サーバーにデータを要求します(非同期に)。

デフォルトでは、個の別のオブジェクトモデル(「mex」のプロキシ)になります。同じタイプが必要な場合は、クライアントでコードを繰り返す必要があります(ここでは、クライアントとサーバーの間でアセンブリ共有を実際に使用することはできません)。

svcutilのSilverlightバージョンでは型の再利用が可能かどうかはわかりませんが(通常のバージョンではそうですが)、xmlまたはバイナリをサービスから返してローカルにデシリアライズする以外の方法はありません。 1つのオプションはprotobuf-netのようなものです。

関連する問題