2012-03-01 5 views
0

트위터 라이저에 문제가 있음을 발견했습니다. 클라이언트가 Photobucket에서 제공하는 이미지가 포함 된 계정에 트윗을 추가 할 때까지 문제가 없습니다.Twitterizer - 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.

위의 Object 참조 오류가 발생하기 시작했습니다. 실제로 문제를 일으킨 짹짹이 었는지 결정하는 데 1 ~ 2 시간이 걸렸지 만 문제를 해결할 수있는 방법은 무엇입니까? 브라이언에 대한

OAuthTokens tokens = new OAuthTokens(); 
tokens.AccessToken = AccessToken; 
tokens.AccessTokenSecret = AccessTokenSecret; 
tokens.ConsumerKey = ConsumerKey; 
tokens.ConsumerSecret = ConsumerSecret; 

try 
{ 
    UserTimelineOptions opts = new UserTimelineOptions(); 
    opts.IncludeRetweets = false; 
    opts.UseSSL = true; 
    opts.Count = 5; 

    /* Throws Exception -> */ TwitterResponse<TwitterStatusCollection> timeLine = TwitterTimeline.UserTimeline(tokens, opts); 
    uxTweets.DataSource = timeLine.ResponseObject; 
    uxTweets.DataBind(); 
} 
catch 
{ 
    uxError.Text = "<p class=\"p1\">Twitter isn't configured correctly. Twitter is not responding.</p>"; 
} 

업데이트 스택 추적 :

[NullReferenceException: Object reference not set to an instance of an object.] 
    Twitterizer.Entities.Converter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) +1355 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueProperty(JsonReader reader, JsonProperty property, Object target, Boolean gottenCurrentValue, Object currentValue) +165 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonReader reader, Object target) +476 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, String id) +702 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateAndPopulateObject(JsonReader reader, JsonObjectContract contract, String id) +110 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) +867 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) +92 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IWrappedCollection wrappedList, JsonReader reader, String reference, JsonArrayContract contract) +495 
    Newtonsoft.Json.Serialization.<>c__DisplayClass1.<CreateAndPopulateList>b__0(IList l, Boolean isTemporaryListReference) +98 
    Newtonsoft.Json.Utilities.CollectionUtils.CreateAndPopulateList(Type listType, Action`2 populateList) +554 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateAndPopulateList(JsonReader reader, String reference, JsonArrayContract contract) +103 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String reference) +61 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) +119 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader, Type objectType, JsonContract contract) +130 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType) +94 
    Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) +47 
    Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) +105 
    Newtonsoft.Json.JsonConvert.DeserializeObject(String value, JsonSerializerSettings settings) +74 
    Newtonsoft.Json.JsonConvert.DeserializeObject(String value) +42 
    Twitterizer.Core.SerializationHelper`1.Deserialize(Byte[] webResponseData, DeserializationHandler deserializationHandler) +91 
    Twitterizer.Core.TwitterCommand`1.ExecuteCommand() +2867 
    Twitterizer.TwitterTimeline.UserTimeline(OAuthTokens tokens, UserTimelineOptions options) +48 
    DataComuniqueUtils.Twitter.Page_Load(Object sender, EventArgs e) in C:\Users\Paul Stoker\Documents\Visual Studio 2010\Projects\DataComuniqueUtils\DataComuniqueUtils\Twitter.ascx.cs:41 
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 
    System.Web.UI.Control.OnLoad(EventArgs e) +91 
    System.Web.UI.Control.LoadRecursive() +74 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207 
+1

예외의 스택 추적을 포함하십시오. –

+0

오류는 대개 무언가가 null 객체에 지정된다는 것을 의미합니다. 어떤 코드 라인이 이것을 유발하는지 구체적으로 설명 할 수 있습니까? – Bahamut

+0

감사합니다 Bahamut, 나는 예외가 던져지는 곳을 보여주기 위해 게시물을 편집했습니다. Twitterizer.Entities 라이브러리가 이미지를 처리하기 위해 업데이트되었다고 생각하지 않습니다. – Stokedout

답변

1

이 문제가 발생했습니다. Newtonsoft.json.dll을 4.3. *로 다운 그레이드하면 문제가 해결되었습니다.

0

이이 새로운 버그

내 코드에서 타임 라인을 당겨에 가장 기본이 솔루션은 그 이하입니다 Twitterizer 라이브러리. 원인을 결정할 기회가 없었지만 일부 상황에서 Twitter API가 반환 한 데이터 구조에 약간의 변화가있는 것 같습니다 (엔티티 데이터와 관련 있다고 생각합니다).

또는 이것은 더 나쁜 시나리오입니다. JSON.NET 라이브러리의 새 버그로, Twitterizer가 자동으로 json 데이터를 객체로 읽는 데 사용됩니다.

+0

Ricky를 살펴 주셔서 감사합니다. github 레포에서 업데이트를 확인해 보겠습니다. ;-) – Stokedout

관련 문제