我遇到的情况是我收到了(401)未经授权的回复。但是,当我逐行测试每个项目时,它工作正常。由于在抛出这些错误时它处于循环中,我相信连接仍然是开放的,但我不确定如何关闭它。
出于安全原因,我正在编辑网址。
// build variables
var url = "https://api.com/accounts/" + aid + "/summary";
// authentication, contenttype, etc. per API
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
webrequest.Method = "GET";
webrequest.ContentType = "application/json";
webrequest.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:28.0) Gecko/20100101 Firefox/28.0";
webrequest.Headers.Add("Authorization", userAuth);
webrequest.KeepAlive = false;
try
{
// Setup download
WebResponse response = webrequest.GetResponse();
Stream datastream = response.GetResponseStream();
StreamReader sr = new StreamReader(datastream);
// read data
string json = sr.ReadToEnd();
string alljson = json;
sr.Close();
datastream.Close();
response.Close();
}
aid和userAuth是从数据库中提取的变量。当我手动注射几个并一次做一个时,它们都工作得很好。但是,通过循环运行它们似乎不会超出第一个。
我也尝试在finally语句中添加webrequest.Abort(),但没有运气。任何帮助赞赏。另一件事我尝试过使用声明,但仍然没有运气。