Итак, у меня есть часть кода, которая работает при первом вызове, и может сообщить мне мое последнее уведомление на Facebook через RSS. Но, когда я иду, чтобы опросить его, второй раз он зависает прямо перед \ во время создания объекта rssReader.Опрос Facebook по опросам через RSS не срабатывает при втором запуске, кто-нибудь знает почему?
private string getLatest()
{
var req = (HttpWebRequest)WebRequest.Create(rssFeedURL);
req.Method = "GET";
req.UserAgent = "Fiddler";
var rep = req.GetResponse();
var rssReader = XmlTextReader.Create(rep.GetResponseStream());
if(rssReader.ReadToFollowing("item"))
{
rssReader.ReadToFollowing("title");
return rssReader.ReadElementContentAsString();
}
return latest;
}
Может ли кто-нибудь сказать мне, почему это так? (Этот код почти идентичен коду другого, который работает)
Это называется в этой функции:
public string alertFeed()
{
string re = getLatest();
if (re.Equals(latest))
return null;
latest = re;
return "Facebook Notification, " + re;
}
}
EDIT:
Вот фиксированный код, для всех, кто интересуется:
private string getLatest()
{
var req = (HttpWebRequest)WebRequest.Create(rssFeedURL);
req.KeepAlive = false;
req.Method = "GET";
req.UserAgent = "Fiddler";
---> using (WebResponse rep = req.GetResponse())
{
var rssReader = XmlTextReader.Create(rep.GetResponseStream());
if (rssReader.ReadToFollowing("item"))
{
rssReader.ReadToFollowing("title");
return rssReader.ReadElementContentAsString();
}
---> }
return latest;
}
Детали, на которые я должен был добавить, как указал Грац, я также мог использовать rep.Close() ;.
Спасибо, я на самом деле в конечном итоге, используя, используя ключевое слово, но ваше решение работал хорошо. – nileshp87