龙妃九天,马蔺子,3d贴图
在bot v3版本中我们可以通过实现iactivitylogger接口在进行,但是在bot v4版本中已经没有这个接口了。
不过在v4中可以使用transcriptloggermiddleware日志记录。
话不多说,开始吧。
vs新建项目选择botframework,如果没有这个模板,可以到下面链接去下载
https://marketplace.visualstudio.com/items?itemname=botbuilder.botbuilderv4
实现itranscriptlogger接口
1 public class transcriptlogger : itranscriptlogger 2 { 3 public async task logactivityasync(iactivity activity) 4 { 5 debug.writeline($"from:{activity.from.id} - to:{activity.recipient.id} - message:{activity.asmessageactivity()?.text}"); 6 } 7 }
在bot中注入transcriptloggermiddleware中间件
1 services.addtransient<itranscriptlogger, transcriptlogger>(); 2 3 services.addbot<echobot1bot>(options => 4 { 5 var transcriptloggerservice = services.buildserviceprovider().getservice<itranscriptlogger>(); 6 options.middleware.add(new transcriptloggermiddleware(transcriptloggerservice)); 7 ...... 8 }
emulator使用说明请看https://github.com/microsoft/botframework-emulator/wiki/getting-started
启动项目
然后打开emulator,点击open bot
选择项目中的.bot文件
发送消息给bot
查看itranscriptlogger记录的信息
在输出窗口我们可以看到两条记录,一条是给bot发送的消息,一条是bot的回复消息。
就这么简单搞完啦,这个bot中间件还可以做其他更多的用途,这个日志中间件源码在https://github.com/microsoft/botbuilder-dotnet/blob/master/libraries/microsoft.bot.builder/transcriptloggermiddleware.cs。
当然我们可以自定义自己的中间件,怎么用就看大家脑洞啦~~~~
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论