从ASP.NET核心应用程序无法进行API发布调用

时间:2018-07-05 10:17:39

标签: c# asp.net azure post azure-web-sites

我在ASP.NET核心应用程序(托管在Azure上)的Program类中具有以下代码,这些对象POST到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();
}
    }

1 个答案:

答案 0 :(得分:0)

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

了解更多here