0

この記事によると、Silverlight 2Beta2はオブジェクトをサポートしていDataContractJsonSerializerます。しかし、私がそれを使おうとすると、VSは言います

「タイプ'DataContractJsonSerializer'が定義されていません」。

JavaScriptから呼び出され、オブジェクトが渡されるScriptableMemberとしてマークされたメソッドがあります。このメソッド内で、オブジェクトを文字列(できればJSON)にシリアル化してから、分離されたストレージに保存する必要があります。

Silverlight 2 Beta 2は本当にDataContractJsonSerializerをサポートしていますか?または、JavaScriptで作成されたScriptObjectを分離ストレージに保存する別の方法をお勧めしますか?

4

4 に答える 4

3

実際には、DataContractJsonSerializer は Silverlight 2 Beta 2 の一部ですが、System.ServiceModel.Web への参照を Silverlight プロジェクトに追加して使用する必要があります。

Silverlight に dll 参照を追加する必要があることに気付きませんでした。ASP.NET と同じように、自動的にすべてが含まれていると思いました。

于 2008-09-28T04:09:48.553 に答える
3

オブジェクトを JSON にシリアル化する Json.NET の Silverlight バージョンがあります。オブジェクト全体に [DataContract] および [DataMember] 属性は必要ありません。

Json.NET

于 2008-09-29T07:52:48.367 に答える
1

今のところ、これに対する唯一の解決策は、ASP.NET AJAX JavaScriptSerializerを使用してJavaScriptでJSONのシリアル化/逆シリアル化を実行し、Silverlightを使用して結果の文字列を保存/取得することです。

Sys.Serialization.JavaScriptSerializer.serialize(obj);
Sys.Serialization.JavaScriptSerializer.deserialize(json);
于 2008-09-27T15:34:22.533 に答える
0

あなた自身の答えが最善のアプローチだと思います。JavaScript はそのようなことを行うのが非常に遅いため、シリアライゼーションの部分は ASP.NET に任せるのが最善です。

于 2008-09-27T23:11:25.400 に答える