拦截虚拟助手模板 Botframework 中的传出活动
Intercepting outgoing activities in Virtual Assistant Template Botframework
我正在寻找 Microsoft Bot 代码(使用虚拟助手模板 4.9.1.1 创建)中的一个位置,在那里我可以在从 bot 发送之前拦截任何传出 activity给客户。
据我了解,一种解决方案可能是在 DefaultAdapter 中覆盖这两个方法:
bool CanProcessOutgoingActivity(Activity activity)
Task<ResourceResponse> ProcessOutgoingActivityAsync(ITurnContext turnContext, Activity activity, CancellationToken cancellationToken)
由于我只需要对 activity 进行一些更改,我想我可以直接在 CanProcessOutgoingActivity 中进行。但是我错了,因为我还需要上下文中的一些信息。
所以我让 CanProcessOutgoingActivity() return 为真并在 ProcessOutgoingActivityAsync 中移动逻辑,所有信息都可用。
但是我不明白它应该如何工作以及 ResourceResponse 参数中的方法应该 return。
是否有任何示例或文档可以让我了解它是如何工作的?
Middleware 将是推荐和最直接(更不用说模块化)的方法。它专为此类场景而设计,应该可以满足您的需求。
我正在寻找 Microsoft Bot 代码(使用虚拟助手模板 4.9.1.1 创建)中的一个位置,在那里我可以在从 bot 发送之前拦截任何传出 activity给客户。
据我了解,一种解决方案可能是在 DefaultAdapter 中覆盖这两个方法:
bool CanProcessOutgoingActivity(Activity activity)
Task<ResourceResponse> ProcessOutgoingActivityAsync(ITurnContext turnContext, Activity activity, CancellationToken cancellationToken)
由于我只需要对 activity 进行一些更改,我想我可以直接在 CanProcessOutgoingActivity 中进行。但是我错了,因为我还需要上下文中的一些信息。
所以我让 CanProcessOutgoingActivity() return 为真并在 ProcessOutgoingActivityAsync 中移动逻辑,所有信息都可用。
但是我不明白它应该如何工作以及 ResourceResponse 参数中的方法应该 return。
是否有任何示例或文档可以让我了解它是如何工作的?
Middleware 将是推荐和最直接(更不用说模块化)的方法。它专为此类场景而设计,应该可以满足您的需求。