我已经使用C#在Microsoft botframework sdk v4中创建了一个bot,并且运行良好。现在,我想将这些对话消息记录到azure sql数据库中。我该怎么办?
预先感谢
答案 0 :(得分:0)
在Bot Builder V4中,ITranscriptLogger取代了IActivityLogger。
您可以在这里找到Entity Framework实现:https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/pull/78
您可以创建一个连接到sql server的 ITranscriptLogger 实现,并在LogActivityAsync的
中保留希望从Activity中获得的任何字段 // Summary:
// Transcript logger stores activities for conversations for recall.
public interface ITranscriptLogger
{
// Summary:
// Log an activity to the transcript.
//
// Parameters:
// activity:
// The activity to transcribe.
//
// Returns:
// A task that represents the work queued to execute.
Task LogActivityAsync(IActivity activity);
}
一旦有了ITranscriptLogger实现,就可以使用以下命令将其添加到Startup.cs的中间件堆栈中:
var myLogger = new MyTranscriptLogger(Configuration.GetSection("BotDataConnectionString").Value);
var transcriptMiddleware = new TranscriptLoggerMiddleware(myLogger);
options.Middleware.Add(transcriptMiddleware);