.NET Core GetFromJsonAsync 退出时没有错误或调试信息

.NET Core GetFromJsonAsync exits with no error or debugging information

我正在尝试调试 GetFromJsonAsync 的请求,该请求应该从 Flask API 获取数据并在 .NET Core cli 应用程序中转换为 JSON。

然而,我遇到的问题是,在执行请求后,cli 应用程序简单地退出而没有错误。我已经尝试实施 try/catch 块,但那里什么也没有显示。

Flask 端点构建 jsonifies 一些来自 Postgres 的 uuid 和消息,returns 将它们发送给客户端。

由于 GetFromJsonAsync 是异步的,我已经尝试同样制作 Flask 端点,但这似乎根本没有帮助。后者工作正常并已通过 curl 验证。

我知道调用已执行,正如我在网络服务器日志中看到的那样。

一个简单的 returns 普通 javascript 对象 {"foo": "bar"} 的类似调用工作正常,这就是为什么我认为这可能是一个异步问题,但我看不到任何错误等来进行故障排除。我在调用后在 foreach 上放置了一个断点,但这从未被击中。

我在这里错过了什么?

    public static async void GetMessages()
    {
        ConfigureHeaders();
        try
        {
            var client = Client;
            var res = await Client.GetFromJsonAsync<Received>(Url + "/api/chat/message"); // stops here
            foreach (var c in res!.messages) // breakpoint here is never hit
                Console.WriteLine(c);
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            throw;
        }
    }


public class Received
{
    public Dictionary<string,string> messages { get; set; }
}

烧瓶

@message.get("/api/chat/message")
@csrf.exempt
async def get_messages():
    new_msgs = {}
    msgs = await get_unreplied() # DB gets called from another function here
    try:
        for m in msgs:
            new_msgs[m.id] = m.message
        if len(new_msgs) != 0:
            return jsonify(new_msgs)
        else:
            return jsonify("no messages")
    except Exception as e:
        print(str(e))

This returns...

{
  "id_foo1": "message_bar1", 
  "id_foo2": "message_bar2"
}

最佳猜测:您的 Main 函数未等待对 GetMessages

的调用
public async Task<int> Main(string []args)
{
    await GetMessages();  
}