كيف تسلسل ScriptObjects إلى سلمان لحفظ في سيلفرلايت معزولة التخزين ؟

StackOverflow https://stackoverflow.com/questions/143793

سؤال

وفقا لهذه المادة Silverlight 2 Beta 2 يدعم DataContractJsonSerializer الكائن.ولكن عند محاولة استخدام الأمر VS يقول

"نوع 'DataContractJsonSerializer' غير محددة".

لدي طريقة وضع علامة ScriptableMember أن يحصل دعا من جافا سكريبت و يتم تمرير كائن.داخل هذه الطريقة لا تحتاج إلى تسلسل كائن إلى سلسلة (ويفضل JSON) ومن ثم حفظه في التخزين المعزول.

لا Silverlight 2 Beta 2 حقا دعم DataContractJsonSerializer?أو أن يوصي أي شخص طريقة مختلفة في إنقاذ جافا سكريبت إنشاء ScriptObject في عزل التخزين ؟

هل كانت مفيدة؟

المحلول

في الحقيقة الجواب هو ، DataContractJsonSerializer هو جزء من Silverlight 2 Beta 2, ولكن تحتاج إلى إضافة مرجع إلى النظام.ServiceModel.الويب الخاص بك سيلفرلايت المشروع إلى استخدامه.

لم أكن أدرك أن كنت لا تزال في حاجة إلى إضافة dll المراجع في سيلفرلايت.اعتقد انها تلقائيا تضمين كل شيء بطريقة مماثلة إلى كيف ASP.NET لا.

نصائح أخرى

هناك نسخة من Silverlight Json.NET من شأنها أن تسلسل الأشياء الخاصة بك إلى JSON.أنها لا تتطلب [DataContract] و [DataMember] سمات كل الأشياء الخاصة بك.

Json.NET

الآن الحل الوحيد لهذه أنني قد وجدت أن استخدام ASP.NET اياكس جافاسكريبتسيرياليزير للقيام سلمان التسلسل/إلغاء التسلسل في جافا سكريبت ، وبعد ذلك فقط استخدام Silverlight لتخزين/استرداد السلسلة الناتجة.

Sys.Serialization.JavaScriptSerializer.serialize(obj);
Sys.Serialization.JavaScriptSerializer.deserialize(json);

أود أن أقول الإجابة الخاصة بك قد يكون أفضل نهج.جافا سكريبت هي ميتة بطيئة في فعل مثل هذه الاشياء ، لذلك من الأفضل لك ترك التسلسل-الجزء ASP.NET.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top