C# ASP.NET核心应用程序中的API Post调用不起作用

C# ASP.NET核心应用程序中的API Post调用不起作用,c#,asp.net,azure,post,azure-web-app-service,C#,Asp.net,Azure,Post,Azure Web App Service,我的ASP.NET核心应用程序(托管在Azure上)的程序类中有以下代码发布到Dialogflow API,但是,我显然没有收到任何数据。我的代码中有错误吗 namespace WebApplicationTest { public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); makeRequest(); }

我的ASP.NET核心应用程序(托管在Azure上)的程序类中有以下代码发布到Dialogflow API,但是,我显然没有收到任何数据。我的代码中有错误吗

namespace WebApplicationTest
    {
public class Program
{ 
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
        makeRequest();
    }

    public static async void makeRequest()

    {
        string myJson = "{'queryInput': {'text': {'text': 'sample user query', ' languageCode': 'en-US'}}}";
        using (var client = new HttpClient())
        {
            var response = await client.PostAsync(
                "https://dialogflow.googleapis.com/v2/{session=projects/projectname/agent/sessions/sessionID1}:detectIntent",
                 new StringContent(myJson, System.Text.Encoding.UTF8, "application/json"));
            var responseString = await response.Content.ReadAsStringAsync();
            Console.WriteLine(responseString);
        }
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();
}
    }
命名空间WebApplicationTest
{
公共课程
{ 
公共静态void Main(字符串[]args)
{
BuildWebHost(args.Run();
makeRequest();
}
公共静态异步void makeRequest()
{
字符串myJson=“{'queryInput':{'text':{'text':'sample user query','languageCode':'en US'}}}”;
使用(var client=new HttpClient())
{
var response=wait client.PostAsync(
"https://dialogflow.googleapis.com/v2/{session=projects/projectname/agent/sessions/sessionID1}:detectinent“,
新的StringContent(myJson,System.Text.Encoding.UTF8,“application/json”);
var responseString=await response.Content.ReadAsStringAsync();
控制台。写入线(响应线);
}
}
公共静态IWebHost BuildWebHost(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.Build();
}
}

不知道您在这里试图解决什么问题,但是您的
makeRequest()
不会被调用,因为您在
BuildWebHost(args)之后调用它。Run()
将阻止调用线程,直到主机关闭


阅读更多信息。

你会得到什么样的回应?一些错误?暂停?代码引发的异常?其他消息?您需要进行更多的调试。e、 g.您是否设置了断点来逐步遍历代码,查看每个阶段发生了什么,并检查了您的变量?我似乎无法进行太多调试,因为我根本没有收到响应。您可以进行调试,以查看查询是否得到执行…如我所说,逐步浏览你的代码…代码中的小错误:“languageCode”=>“languageCode”哦,这很有意义,你建议我在哪里调用函数?正如我所写的,我不知道你在那里尝试做什么。您的名称空间看起来像一个测试,然后您启动一个WebHost来服务任何API,我想是吧?同时,您希望使用一个名为makeRequest的方法调用外部API。此外,它是异步无效的,您永远不应该这样做(除非在非常原始的情况下)。我建议先读一些关于软件开发的书。当网页加载后,我正试图通过我的函数调用外部api。Web主机已在类中,因为该应用程序托管在azure上。然后,您可能希望将其移动到startup.cs,但请使用Task替换该void,并在调用它时使用wait。