2012-04-10 8 views
0

助けてください。Twitterizer2 1.2.4ストリーミングAPIの例外 - デシリアライズ時に予期しない終了が発生する

オブジェクトを逆シリアル化する際に予期しない終了が発生しました。行216、位置2。

私の呼び出し元コード: var asyncResult = s.StartPublicStream(streamErrorCallback、statusCreatedCallback、statusDeletedCallback、eventCallback、rawJsonCallback);

rawJsonCallbackハンドラにブレークポイントを設定すると、有効なJSONがAPIから戻ってくるように見えます。

は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; 
     } 

近く、ここで失敗しています()。

Newtonsoft.Json.Serliazation.JsonSerializerInternalReader.PopulateObject()はreader.TokenType ==が存在しないため失敗します。

契約タイプ/値と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ものを持っていました