相关疑难解决方法(0)

如何从azure表存储中获取聊天记录

因为我们被迫放弃stateclient并转移到自定义存储,在我的情况下是一个azure表存储.使用我的storageexplorer,我可以看到它已经在我的azure上保存了对话数据.如何更新我的ff代码以获取过去的聊天记录?在我使用IActivityLogger类来记录对话之前,现在我对如何更新它感到困惑.

全球Asax之前:

protected void Application_Start()
{
    var builder = new ContainerBuilder();
    builder.RegisterType<Logger>().AsImplementedInterfaces().InstancePerDependency();
    builder.Update(Conversation.Container);
    GlobalConfiguration.Configure(WebApiConfig.Register);
}
Run Code Online (Sandbox Code Playgroud)

全球Asax之后:

protected void Application_Start()
{
    Conversation.UpdateContainer(builder =>
    {
        builder.RegisterModule(new AzureModule(Assembly.GetExecutingAssembly()));
        var store = new TableBotDataStore(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
        builder.Register(c => store)
        .Keyed<IBotDataStore<BotData>>(AzureModule.Key_DataStore)
        .AsSelf()
        .SingleInstance();
    });

    GlobalConfiguration.Configure(WebApiConfig.Register);
}
Run Code Online (Sandbox Code Playgroud)

记录器类:

public class Logger:IActivityLogger
{
    public static ConcurrentDictionary<string, List<IActivity>> Messages = new ConcurrentDictionary<string, List<IActivity>>();

    public Task LogAsync(IActivity activity)
    {
        try
        {
            var list = new List<IActivity>() { activity };
            Messages.AddOrUpdate(activity.Conversation.Id, list, (k, v) => { v.Add(activity); return v; }); …
Run Code Online (Sandbox Code Playgroud)

c# chatbot azure-storage azure-table-storage botframework

9
推荐指数
1
解决办法
629
查看次数

从消息控制器c#访问对话数据

我一直在使用context.setvalue(); 和context.TryGetvalue(); 在Bot Framework中存储和接收数据到不同的存储.

我想知道如何从MessageController.cs访问这些值

已经尝试过创建一个New对象,它对我不起作用.

c# botframework

3
推荐指数
2
解决办法
2733
查看次数