0

POST()ウェブサイトにデータを順次送信したい。post1 を終了してから post2 を開始し、次に post3 などを開始します。コンパイルする構文はありますが、エラーが発生し、どうすればよいかわかりません。

AggregateException がキャッチされ
ました 1 つ以上のエラーが発生しました

私が使用する構文は次のとおりです。

private multipost()
{
  string postsite = string.Format("http://requestb.in/1g5y7234");
  string postData = "";
  string responseMessage = "";

  DataTable grds = new DataTable();
  grds.Columns.Add("Dosage", typeof(int));
  grds.Columns.Add("Drug", typeof(string));
  grds.Columns.Add("Patient", typeof(string));
  grds.Columns.Add("Date", typeof(DateTime));
  grds.Rows.Add(25, "Indocin", "David", DateTime.Now);
  grds.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
  grds.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
  grds.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
  grds.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);

  try
  {
    Parallel.ForEach(grds.Rows.OfType<DataRow>(), row =>
    {
        foreach (var item in row.ItemArray)
        {
            postData += "=" + item + "&";
            postData += "d2p=";
            System.Net.HttpWebRequest r = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(postsite);
            r.Method = "POST";
            r.Accept = "application/json";
            r.ContentType = "application/x-www-form-urlencoded";
            r.ContentLength = postData.Length;
            r.KeepAlive = false;
            using (System.IO.StreamWriter sw = new System.IO.StreamWriter(r.GetRequestStream()))
            {
                try { sw.Write(postData); }
                catch (Exception ex) { responseMessage = ex.Message; }
            }
            var response = r.GetResponse();
            Stream receiveStream = response.GetResponseStream();
            StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
            var result = readStream.ReadToEnd();
            var xml = System.Xml.Linq.XElement.Parse(result);
            if (xml.Elements("success").FirstOrDefault().Value == "1") { responseMessage = "Success"; }
            else
            {
                var errors = xml.Elements("errors");
                foreach (var error in errors.Elements("error")) { responseMessage = error.Value; }
            }
        }
    });
  }
  catch (Exception mbop) { throw mbop; }      
}

強力な頭脳に実際に質問するのを忘れていたようです。このエラーの原因は何ですか?このエラーを克服するにはどうすればよいですか?

編集ブロックを
次のように変更しましたcatch{}

catch (Exception mbop) 
{
    while (mbop.InnerException != null)
        throw mbop;
} 

そして、InnerExceptionそれが生み出したのは

ルート レベルのデータは無効です。行 1、位置 1

4

0 に答える 0