首页 > 解决方案 > 使用 C# 在 bot 框架 v4 中的 azure sql 数据库上存储聊天日志

问题描述

我正在使用带有 C# 的 bot 框架 V4 开发机器人。为了将聊天记录历史存储在数据库中,我实现了 ITranscriptLogger,如下所示。

public class ActivityLogger :ITranscriptLogger
    {
        public ActivityLogger()
        {
            //do something
        }
        public async Task LogActivityAsync(IActivity activity)
        {
            await UpdateLog();
        }
        
        public Task UpdateLog()
        {
           //store log in sql database
        }
    }

在 startup.cs 中,我添加了以下代码

var logger = new ActivityLogger();
  var transcriptMiddleware = new TranscriptLoggerMiddleware(logger);
 services.AddSingleton<TranscriptLoggerMiddleware>(transcriptMiddleware);

我希望在每次对话期间都会调用 LogActivityAsync ..但这不会被调用。因此我无法在数据库中存储对话历史记录。

标签: c#botframework

解决方案


推荐阅读