У меня проблемы с одним проектом, обрабатывающим действия с AdaptiveCards.Мой метод отлично работает во всех других моих проектах, но не самый последний.Я попытался откатить версии bot.builder и bot.connector, чтобы они соответствовали другим проектам, но это не помогло.
Карта отображается нормально, но как только вы нажмете кнопку, вы получите старый добрый «Извините, у моего бота-кода проблема».Я отображаю карту в RootDialog и вызываю context.wait (MessageReceivedAsync)
Отладка, если я что-то печатаю боту после того, как карта была отображена, MessageReceivedAsync запускается.Нажав на кнопку, никогда не попадет туда.Помещая точку останова непосредственно в MessageController, он туда попадает, но вход в него просто умирает и показывает: «Извините, у моего бота-кода возникла проблема».
Вот мой MessageController:
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Message)
{
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
await Conversation.SendAsync(activity, () => new RootDialog());
}
Вот действие адаптивной карты:
"actions": [
{
"type": "Action.Submit",
"title": "Create On-Line Request",
"data": {
"action": "requestContact"
}
}
]}
В моем RootDialog:
await context.PostAsync(CardHelper.MakeCard(context, "~\\AdaptiveCards\\ContactInfo311.json", replacements));
context.Wait(MessageReceivedAsync);