2011-12-23 2 views
2

는 내가 "SQL 세션 상태를 사용하고하는 ASP.NET 응용 프로그램이 있습니다.ASP.NET 응용 프로그램에서 SQL Server 세션 상태를 사용할 때 어떻게 직렬화를 제어 할 수 있습니까?

내 응용 프로그램 출력이 JSON.이 데이터는 웹 서비스의 끝 직렬화 및 역 직렬화하는 RESTful 웹 서비스에서 데이터를 가져 내 DataContractJSONSerializer 개체를 사용하여 웹 사이트 끝. 직렬화되는 개체를 단순한 .NET POCO 개체가 있습니다. [Serializable] 특성이 없습니다. 기본적으로 DataContractJSONSerializer는 속성을 serialize 및 deserialize 할 것입니다. 이 서비스에서 얻은 객체는 세션 상태 (예 : SQL)에 저장하고 싶습니다.이 객체를 직렬화 할 수 있어야합니다. 문제는 POCO 객체에 Serializable 속성을 추가하면 JSO N 개의 직렬화 변경과 모든 FIELD (비공개 필드 포함)가 직렬화되어 웹 서비스에서 반환되어 결국 비 직렬화가 중단됩니다.

SQL 세션 상태를 사용할 때 ASP.NET에서 개체를 serialize하는 방식을 제어 할 수있는 방법이 있는지 궁금합니다. 어떻게 든 DataContractJSONSerializer를 사용하여 다시 여기에 객체를 직렬화 할 수 있다면 좋을 것입니다. 또는 직렬화를 제어 할 수있는 다른 방법.

나는 ISerializable을 구현하고 내 객체가 직렬화되어 내 문제를 해결할 수 있다는 것을 알고 있지만 직렬화하려는 모든 객체에이를 구현하지 않아도되도록 노력하고 있습니다.

+0

세션 상태로 JSON을 저장할 수 있습니까? –

+0

나는 그것을 생각했지만, 데이터를 두 번 직렬화해야 할 때 어떤 영향이 있을지 궁금해. –

+0

역 직렬화가 필요한 빈도에 따라 다릅니다. –

답변

0

개체의 DataContractJSONSerializer 버전을 보유 할 문자열 속성이 포함 된 직렬화 가능 래퍼 클래스를 추가 한 다음 직렬화하는 방법은 어떻습니까?

래퍼 클래스에는 개체를 serialize 및 deserialize하는 일반적인 메서드가 포함될 수 있습니다.

+0

나는 그 아이디어를 좋아한다 ..... –

+0

훌륭하고 stackoverflow에 오신 것을 환영합니다. 해답이 해답을 찾거나 도움이되는지 기억하십시오. 질문 옆에있는 체크 표시와 위쪽 화살표를 클릭하면이 질문에 대한 미래의 방문자가 이것이 도움이되었다는 것을 알 수 있습니다. –

관련 문제