Я заметил проблему с Twitterizer в том, что она работает нормально, пока мой клиент не добавил твит к ее учетной записи, содержащей изображение, основанное на Photobucket.Twitterizer - Ссылка на объект не установлена в экземпляр объекта
Затем мы начали получать ошибку ссылки на объект выше. Прошло час или два, чтобы определить, что на самом деле это твит, вызывающий проблему, которую я сейчас удалил, но как я могу обойти эту проблему?
Мой код ниже, который является очень базовое решение для вывода линии времени в:
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
Просьба указать трассировку стека из исключения. –
Ошибка обычно означает, что что-то присваивается нулевому объекту. можете ли вы указать, какая строка кода вызывает это? – Bahamut
Спасибо, Бахамут, я отредактировал сообщение, чтобы показать, где выбрано исключение. Я не думаю, что библиотека Twitterizer.Entities была обновлена, чтобы обрабатывать изображения, если я полностью не упустил что-то? – Stokedout