You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调试时调用async方法导致控制台应用意外退出问题求助

调试Async/Await时会话意外退出的问题及临时解决办法
  • 该问题仅在控制台应用、Windows服务应用中出现,尚未在Windows Forms或WPF应用中测试
  • 调试代码时,只要执行到带await的async调用,调试会话就会意外终止,无法继续调试
  • 当前临时解决办法是改用Task.Run(),但调试时修改所有async调用语法、部署时再改回原写法,操作十分繁琐

存在调试问题的代码(部署后可正常运行)

var response = await httpClient.SendAsync(request);

调试临时替代代码

//var response = await httpClient.SendAsync(request);
var task = Task.Run(() => httpClient.SendAsync(request));
task.Wait();
var response = task.Result;

完整示例代码

private static async Task<string> SendRequest()
{
    string result = "";
    string url = "http://localhost:5119/WeatherForecast";
    var URL = new Uri(url);
    var method = new HttpMethod("GET");
    using (var request = new HttpRequestMessage(method, URL))
    {
        var response = await httpClient.SendAsync(request);

        //var task = Task.Run(() => httpClient.SendAsync(request));
        //task.Wait();
        //var response = task.Result;
        result = await response.Content.ReadAsStringAsync();
    }

    return result;
}

内容的提问来源于stack exchange,提问作者coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 22:50:45