2014-12-11 2 views
-1

사용자 정의 Azure 모바일 서비스를 호출하는 중입니다. 동적 스키마에 의해 주어진 응답. Ive가 스키마를 변경했지만 하늘색이 이전 스키마를 캐시 한 것처럼 보입니다. 반환 유형으로 엔터티 형식으로 변경하면 모두 괜찮습니다. 그러나 동적 인 스키마로 되돌아가는 순간 하늘빛은 오래된 스키마를 사용합니다. 어떤 아이디어? 그냥 참조모바일 서비스 캐싱

, 내 동적 스키마는 0에 직렬화하지

[DataContract] 
public class HigscoreItem 
{ 
public HigscoreItem(Int32 aq, Int32 sec, string userId, Int32 rank, bool npb, Int32  distance) 
{ 
      AnsweredQuestions = aq; 
      Seconds = sec; 
      UserId = userId; 
      Rank = rank; 
      NewPersonalBest = npb? 1 : 0; 
      DistanceLeft = distance; 
     } 
     [DataMember(Name = "answeredquestions")] 
     public Int32 AnsweredQuestions; 
     [DataMember(Name = "seconds")] 
     public Int32 Seconds; 
     [DataMember(Name = "userid")] 
     public string UserId; 
     [DataMember(Name = "rank")] 
     public Int32 Rank; 
     [DataMember(Name = "distanceleft")] 
     public Int32 DistanceLeft; 
     [DataMember(Name = "newpersonalbest")] 
     public Int32 NewPersonalBest; 
    } 

}

+0

동적 스키마를 사용하지 않도록 권장하는 문서 [link] (http://msdn.microsoft.com/ko/default.asp -us/library/jj193175.aspx) http://msdn.microsoft.com/en-us/library/jj193175.aspx이 작업이 완료되었습니다. 어쩌면 필자는 동적 스키마가 무엇인지 오해했을 것입니다. ?? – Knutdag

+0

불편을 끼쳐 드려 죄송합니다./int 값 (0)은 JSON 패킷에 포함되어 있지 않습니다 ... 그게 나를 속였습니다 : P. 그러나 여전히 동적 스키마를 사용하지 않도록 권장하는 MS 설명서에 대해 궁금한 점이 있으십니까? – Knutdag

답변

0

Knutdag 위의 댓글에서 언급 한 바와 같이이며 다음과 같다, 그래서 데이터베이스에가는 목적은 서로 다른 모양 , 동적 스키마가 켜져 있으면 데이터베이스가 그에 따라 스키마를 변경합니다.

새 버전 (int0과 같은)의 버그 또는 악의적 인 삽입으로 인해 데이터가 손실되지 않도록 프로덕션 환경으로 전환 할 때 동적 스키마를 해제해야합니다. 일단 앱이 실행되면 스키마를 결정 했으므로 명시 적으로 변경하지 않아도됩니다. 동적 스키마는 초기 개발 도구로서 의미가 있으며 클라이언트 데이터 모델의 모양을 파악하는 동안 시스템이 전체적으로 작동 할 수있는 유연성을 제공합니다. 프로덕션 환경에서 실제 데이터가 있고 스키마 변경 사항을 수동으로 관리하여 작업이 원활하게 이루어 지도록하려는 경우