在我的機器人內的對話,我存儲在ConversationData的標誌值,像這樣:如何在對話框外部訪問Bot Framework對話數據?
context.ConversationData.SetValue("SomeFlag", true);
後來,我需要檢查該標誌在我MessagesController,之前的消息被分配到一個對話框。按照this previous question我試圖通過StateClient檢索ConversationData像這樣:
public async Task<HttpResponseMessage> Post([FromBody] Activity incomingMessage)
{
StateClient stateClient = incomingMessage.GetStateClient();
BotData userData = await stateClient.BotState.GetConversationDataAsync(message.ChannelId, message.Conversation.Id);
bool finishedQuote = userData.GetProperty<bool>("SomeFlag");
//...
// do conditional logic, then dispatch to a dialog as normal
}
然而,在運行時,userData
變量保存BotData對象,其中userData.Data
是空的,我無法通過檢索任何存儲的標誌GetProperty
。我沒有看到relevant documentation中的任何內容可以幫助解決這個問題 - 我在這裏可能會做錯什麼?有什麼我誤解?
謝謝,這是完美的!只是改變它加載ConversationData而不是UserData,它做到了我所需要的! –
很高興你得到它的工作 – JasonSowers