PostAsync timeout / exception behaviour
有关HttpClient的PostAsync方法的文档有点...低端。
我想知道它的行为:
如果超时或被调用的网站引发异常,是否会带来任何异常? 如果不是,在这些情况下会发生什么?
举个例子
1 2 3 4 | using (HttpClient Client = new HttpClient()) { var result = Client.PostAsync(url, content).Result; } |
该网站有时会引发异常,或者在高流量超时的情况下抛出异常。 我不确定结果如何。 我是否会收到异常,"无限循环"(因此不会发生超时),或者如果引发异常或发生超时,结果是否为空?
首先,请避免使用
1 | var result = await Client.PostAsync(url, content); |
关于您的问题,此调用的结果为
任务状态可在此处TaskStatus枚举中找到。 当然,此调用可能会失败。 因此,您应该捕获可能引发的任何异常。