我在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();
}
}
答案 0 :(得分:0)
不知道您要在此处解决什么问题,但是您的makeRequest()
将不会被调用,因为您是在BuildWebHost(args).Run()
之后调用它的,这会阻塞调用线程,直到主机关闭。
了解更多here。