Silverlight 분리 스토리지를 저장하기 위해 ScriptObjects를 JSON에 어떻게 직렬화합니까?

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

문제

이 기사에 따르면 Silverlight 2 베타 2 지원합니다 DataContractJsonSerializer 물체. 그러나 내가 그것을 사용하려고 할 때대로

"유형 'DataContractJsonserializer'는 정의되지 않았습니다."

JavaScript에서 호출되고 객체가 전달되는 ScriptAbleMember로 표시된 메소드가 있습니다. 이 방법에서는 객체를 문자열 (바람직하게는 JSON)으로 직렬화 한 다음 분리 된 스토리지에 저장해야합니다.

Silverlight 2 Beta 2는 실제로 DataContractJsonserializer를 지원합니까? 아니면 분리 된 스토리지에서 생성 된 ScriptObject를 제작 한 JavaScript를 저장하는 다른 방법을 추천합니까?

도움이 되었습니까?

해결책

실제로 대답은 DataContractJsonserializer가 Silverlight 2 베타 2의 일부이지만 System.ServiceModel.Web에 대한 참조를 Silverlight 프로젝트에 추가해야합니다.

나는 당신이 여전히 Silverlight에서 DLL 참조를 추가해야한다는 것을 몰랐습니다. ASP.NET과 비슷한 방식으로 모든 것을 자동으로 포함 시켰다고 생각했습니다.

다른 팁

JSON.NET의 Silverlight 버전이 있습니다. [DataContract] 및 [Datamember] 속성이 객체 전체에 필요하지 않습니다.

json.net

현재 내가 찾은 유일한 해결책은 asp.net ajax javascriptteserializer를 사용하여 JavaScript에서 JSON 직렬화/사제화를 수행 한 다음 Silverlight를 사용하여 결과 문자열을 저장/검색하는 것입니다.

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

나는 당신의 대답이 최선의 접근법이라고 말할 것입니다. JavaScript는 그런 일을하는 데 천천히 죽었으므로 직렬화 부위를 ASP.NET으로 남겨 두는 것이 가장 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top