API Post call не работает из основного приложения ASP.NET - PullRequest
0 голосов
/ 05 июля 2018

У меня есть следующий код в классе Program моего основного приложения ASP.NET (размещенного в Azure) POST для API Dialogflow, однако я, очевидно, не получаю никаких данных. Есть ли ошибка в моем коде?

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 голосов
/ 05 июля 2018

Понятия не имею, что вы пытаетесь решить, но ваш makeRequest() не будет вызван, поскольку вы вызываете его после BuildWebHost(args).Run(), который блокирует вызывающий поток до отключения хоста.

Подробнее здесь .

...