使用async / await时mscorelib.dll抛出System.NullReferenceException

时间:2017-10-18 20:00:50

标签: c# async-await

我正在尝试使用async / await编写API Post方法,并且在调试期间遇到运行时错误:

  

类型'System.NullReferenceException'的未处理异常   发生在mscorlib.dll对象引用中未设置为的实例   对象

在单步执行“await”行后调试器总是失败。它甚至没有进入捕获块。调试器就存在了。

这是我的代码:

public async Task<JsonResult> DoPost(int ID)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    //POST/GET
                    client.BaseAddress = new Uri("https://myapidomain.com/api/endpoint");
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Add("x-api-key", "my key goes here");
                    client.DefaultRequestHeaders
                        .Accept
                        .Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    StringContent payload = new StringContent("{\"id\":\"123\"}"); 
                    var response = await client.PostAsync(client.BaseAddress, payload); 

                    return new JsonResult { Data = false };
                }
            }
            catch(Exception e) {
                return new JsonResult { Data = false };
            }
        }

0 个答案:

没有答案