API DirectLine никогда не возвращает диалог

Поэтому я использую платформу Microsoft Bot и их DirectLine API, чтобы поговорить с ней. Я делаю это, потому что мне нужно отправить уведомление боту. Класс ниже вызывается моей конечной точкой, которая у меня есть в моем бэкэнде. Поэтому, когда я вызываю свою конечную точку уведомления, этот класс вызывается и должен начать разговор с ботом, чтобы вызвать в нем определенные события. Проблема в том, что он не работает так, как ожидалось. Когда я запускаю код и делаю запрос к своей конечной точке, он застревает на var conversation = await client.Conversations.StartConversationAsync();, ключевое слово await останавливает выполнение до тех пор, пока оно не будет завершено, проблема в том, что оно никогда не завершается. НО я вижу в окне отладки, что запрос отправляется с созданным кодом состояния 201, поэтому он должен завершиться, но этого никогда не происходит. Не знаю, что здесь делать.

 private static async Task StartBotConversation()
        {
            string directLineSecret = "SECRECT";
            string fromUser = "DirectLineSampleClientUser";

            DirectLineClient client = new DirectLineClient(directLineSecret);

            Debug.WriteLine("Before starting con ");
            var conversation = await client.Conversations.StartConversationAsync();

            Debug.WriteLine("After starting con");
            Activity userMessage = new Activity
            {
                From = new ChannelAccount(fromUser),
                Text = "ERROR1337",
                Type = ActivityTypes.Trigger
            };
            Debug.WriteLine("Before posting activity");
            await client.Conversations.PostActivityAsync(conversation.ConversationId, userMessage);
            Debug.WriteLine("After posting activity");
        }

person lillaDu    schedule 08.05.2017    source источник
comment
Этот образец работает для вас? github.com/Microsoft/BotBuilder-Samples/tree/master/ CSharp/   -  person Ezequiel Jadib    schedule 08.05.2017


Ответы (1)


Сделайте так: BotConversation = await Client.Conversations .StartConversationAsync().ConfigureAwait(false); У меня сработало, надеюсь, вам поможет.

person Damien Doumer    schedule 11.08.2017