Ваш код должен выглядеть следующим образом, так как некоторые ресурсы не используются должным образом:
public string GetResponse(ArrayObject Parameters)
{
// Set the encoding type
theRequest.ContentType = "application/x-www-form-urlencoded";
theRequest.ContentLength = Parameters.getData().Length;
// We write the parameters into the request
using (StreamWriter sw = new StreamWriter(theRequest.GetRequestStream()))
{
sw.Write(Parameters.getData());
sw.Flush();
}
// Execute the query
theResponse = (HttpWebResponse)theRequest.GetResponse();
using (StreamReader sr = new StreamReader(theResponse.GetResponseStream()))
{
return sr.ReadToEnd();
}
}
Кроме того, кажется, что вы кэшируете экземпляр HttpWebResponse . Это плохая идея, поскольку она происходит от WebResponse , который реализует IDisposable. Вызов Dispose для этого экземпляра важен для того, чтобы избавиться от ресурсов, использованных при создании запроса и чтении ответа.
Как говорится, есть ли причина, по которой вы не используете Facebook Developer Toolkit ? Он содержит классы, которые инкапсулируют большинство вызовов API RESTful, а также механизмы, которые вы можете использовать повторно для генерации новых вызовов (с небольшой переработкой кода), если необходимо.