猿问

AggregateException "发生一个或多个错误。发送请求时发生错误。"

我试图将文件从我的 WCF .Net 框架 4.5 发布到 API 休息区。这是我的代码:


public string CreateConclusion(string[] instanceUIDs)

    {

        var root = @"C:\";

        string filename = "1.2.840.114257.1.9.1245.56421.52314.1119854.01248.dcm";


            using (var client = new HttpClient())

            {

                var stream = new FileStream(root + filename, FileMode.Open);


                using (var content =

                    new MultipartFormDataContent("Upload----" + DateTime.Now.ToString(CultureInfo.InvariantCulture)))

                {

                    content.Add(new StreamContent(stream), "fileToUpload", filename);


                    using (var message = client.PostAsync("https://localhost:44343/api/ConclusionReports/UploadFile", content).Result)

                    {

                        var input = message.Content.ReadAsStringAsync();


                        return !string.IsNullOrWhiteSpace(input.Result) ? Regex.Match(input.Result, @"http://\w*\.directupload\.net/images/\d*/\w*\.[a-z]{3}").Value : null;

                    }

                }

            }


    }

它不起作用并抛出异常:“发生一个或多个错误。发送请求时发生错误。”


有没有人可以帮我解决这个问题?先感谢您


喵喵时光机
浏览 258回答 1
1回答

一只萌萌小番薯

总是可以解开聚合异常以发现真正的原因。尝试在 try-catch 中编写您的客户端调用,如下所示:    try {    //Some risky client call that will call parallell code / async /TPL or in some way cause an AggregateException    }   catch (AggregateException err){    foreach (var errInner in err.InnerExceptions) {     Debug.WriteLine(errInner); //this will call ToString() on the inner execption and get you message, stacktrace and you could perhaps drill down further into the inner exception of it if necessary      }      }
随时随地看视频慕课网APP
我要回答