FireBase在第一轮循环后抛出WebException 400
问题描述:
正如试图在实时数据库中添加大约9400个项目并且因此循环遍历我的JArray中的500个项目一样,每个调用之间的延迟时间为90秒。虽然它第一次完全正常工作,但它总是在第二轮抛出Error-Code 400。如果有人知道如何解决,请帮助!FireBase在第一轮循环后抛出WebException 400
我的请求代码:
var baseAddress = "my database base url";
var http = (HttpWebRequest)WebRequest.Create(new Uri(baseAddress));
http.Accept = "application/json";
http.ContentType = "application/json";
http.Method = "PATCH";
string parsedContent = JsonConvert.SerializeObject(Skins);
using (StreamWriter streamWriter = new StreamWriter(http.GetRequestStream()))
{
streamWriter.Write(parsedContent);
streamWriter.Flush();
streamWriter.Close();
}
WebResponse httpsresponse = http.GetResponse();
Stream stream = httpsresponse.GetResponseStream();
StreamReader sr = new StreamReader(stream);
string response = sr.ReadToEnd();
//MessageBox.Show(response);
我的循环:
foreach (JToken Skin in body)
{
if (i == 500)
{
new Thread(delegate()
{
DODB(Skins);
}).Start();
Thread.Sleep(90000);
i = 0;
Skins = new JObject();
}
else
{
Skins.Add(Skin);
i++;
}
}
答
解决方案:该错误是JSON里面,我发现在文档,有些字符不能在一个关键允许的条目-名称!