botframework-sdk: PrivateConversationData is not being saved in V3.0 (C# SDK)

Hi,

I’m having problems with saving and retrieving PrivateConversationData using new BotStateClient in latest C# v3.0 SDK.

Code Sample:

  1. Save
public static void SavePrivateConversationData(this Activity activity, params KeyValuePair<string, object>[] keyValues)
{
     var stateClient = activity.GetStateClient();
     var privateConversationData = stateClient.BotState.GetPrivateConversationData(activity.ChannelId, activity.Conversation.Id, activity.From.Id);
     foreach (var keyValue in keyValues)
     {
          privateConversationData.SetProperty(keyValue.Key, keyValue.Value);
     }
     stateClient.BotState.SetPrivateConversationData(activity.ChannelId, activity.Conversation.Id, activity.From.Id, privateConversationData);
}
activity.SavePrivateConversationData(new KeyValuePair<string, object>("persistedCookie", resumptionCookie));
  1. Load
public static TType LoadPrivateConversationData<TType>(this Activity activity, string key = null) where TType : class
{
     var stateClient = activity.GetStateClient();
     var privateConversationData = stateClient.BotState.GetPrivateConversationData(activity.ChannelId, activity.Conversation.Id, activity.From.Id);
     var property = privateConversationData.GetProperty<TType>(key);
     return property;
}

var pending = activity.LoadPrivateConversationData<ResumptionCookie>("persistedCookie");

Additional Notes:

  • if I debug or load the private conversation data right after it being added, the data is there. However, on the next request, the data is gone
  • IBotContext.PrivateConversationData.SetValue(); => this method is still working as expected.

Thanks,

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 15 (5 by maintainers)

Most upvoted comments

similar problem to what i was experience in js