2012-04-10 2 views
0

도움이 될만한 정보가 있습니다. JSON.Net 내에서 비 ​​직렬화 중에 예외가 발생합니다.Twitterizer2 1.2.4 스트리밍 API 예외 - 객체 역 직렬화시 예기치 않은 종료

개체를 비 직렬화 할 때 예기치 않은 종료가 발생합니다. 라인 (216), 위치 (2)

내 호출 코드 : var에 asyncResult = s.StartPublicStream (streamErrorCallback, statusCreatedCallback, statusDeletedCallback, eventCallback, rawJsonCallback);

내 rawJsonCallback 처리기에 중단 점을 설정하면 API에서 유효한 유효한 JSON이 표시됩니다.

이 Twitterizer.Streaming.TwitterStream.ParseMessage (문자열)처럼 보이는 Twitterizer2 및 JSON.Net의 소스를 추가 DeserializeObject에 대한 호출에 라인 (520)

var user = obj.SelectToken("user", false); 
    if (user != null) 
     { 
      if (statusCreatedCallback != null && user.HasValues) 
      { 
       statusCreatedCallback(JsonConvert.DeserializeObject<TwitterStatus>(ConvertJTokenToString(obj))); 

      } 
      return; 
     } 

근처에 여기 실패().

reader.TokenType == None이므로 Newtonsoft.Json.Serliazation.JsonSerializerInternalReader.PopulateObject()가 실패합니다.

계약 유형/값과 API에서 돌아 오는 오브젝트간에 불일치가 있다고 의심 스럽지만 더 테스트하는 방법을 모르겠습니다. Json.Net 소스를 컴파일 할 수 없기 때문에 단계를 밟을 수 없습니다.

답변

0

Twitterizer 2.4가 NewtonSoft.Json v4.08을 사용하고있어 문제가 발생합니다. Newtonsoft.Json v4.03을 설치하면 문제가 없습니다.

+0

고맙습니다. 시도해 보겠습니다. – mellodev

+0

이것은 너겟 칼에 대한 이중 가장자리입니다. –

0

아마도이 문제가 해결 될 수 있습니다.

), 나는 누군가가 github에 언급하고 내가 짜잔 새로운 JSON lib 디렉토리와 함께 전체 소스 코드를 컴파일 한 그 단계를 수행 JSON.NET 4.5

으로 twitterize을 사용하고자 할 때 내가 simillar을했다