如何解决Httpwebrequest 在循环中运行时抛出错误
我正在使用已存储在数据库表中的 ID 通过 HttpWebRequest
/ HttpWebResponse
方法调用 Rest API URL。
我目前正在使用 for each 循环来遍历在 DataTable 中获取的每个 ID,然后调用 Rest API URL,最后将结果转储到多个表中。
代码有时运行良好,但有时会随机抛出以下错误: 远程服务器返回错误:(401) 未经授权。
foreach (DaTarow drow in ds.Tables[0].Rows)
{
string uri2 = "http://myrestURL/Transaction/" + drow.ItemArray[0].ToString();
HttpWebRequest req2 = HttpWebRequest.CreateHttp(uri2);
req2.CookieContainer = new CookieContainer();
req2.Method = "GET";
req2.UseDefaultCredentials = true;
req2.ContentLength = 0;
req2.Accept = "application/xml,*/*";
req2.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
using (HttpWebResponse resp2 = (HttpWebResponse)req2.GetResponse())
{
StringReader theReader;
DataSet theDataSet;
using (StreamReader reader2 = new StreamReader(resp2.GetResponseStream()))
{
string message2 = reader2.ReadToEnd();
theReader = new StringReader(message2.ToString());
theDataSet = new DataSet();
theDataSet.readxml(theReader);
DataTable dt = theDataSet.Tables["table1"];
DataTable dt1 = theDataSet.Tables["table2"];
DataTable dt2 = theDataSet.Tables["table3"];
DataTable dt3 = theDataSet.Tables["table4"];
dt.Columns.Add("ID",typeof(string));
dt.Columns["ID"].Setordinal(0);
foreach (DaTarow row in dt.Rows)
{
row["ID"] = drow.ItemArray[0].ToString();
}
dt1.Columns.Add("ID",typeof(string));
dt1.Columns["ID"].Setordinal(0);
foreach (DaTarow row in dt1.Rows)
{
row["ID"] = drow.ItemArray[0].ToString();
}
dt2.Columns.Add("ID",typeof(string));
dt2.Columns["ID"].Setordinal(0);
foreach (DaTarow row in dt2.Rows)
{
row["ID"] = drow.ItemArray[0].ToString();
}
dt3.Columns.Add("ID",typeof(string));
dt3.Columns["ID"].Setordinal(0);
foreach (DaTarow row in dt3.Rows)
{
row["ID"] = drow.ItemArray[0].ToString();
}
sqlConnection insertConn = new sqlConnection(strConn);
insertConn.open();
using (sqlBulkcopy bulkcopy1 = new sqlBulkcopy(insertConn))
{
bulkcopy1.DestinationTableName = dt1.TableName;
try
{
bulkcopy1.WritetoServer(dt1);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
...
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。