在Microsoft Bot Framework页面上的一个示例中,它们具有以下代码:
[Serializable]
public class EchoDialog : IDialog<object>
{
public async Task StartAsync(IDialogContext context)
{
context.Wait(MessageReceivedAsync);
}
public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
{
var message = await argument;
await context.PostAsync("You said: " + message.Text);
context.Wait(MessageReceivedAsync);
}
}
public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity)
{
// check if activity is of type message
if (activity != null && activity.GetActivityType() == ActivityTypes.Message)
{
await Conversation.SendAsync(activity, () => new EchoDialog());
}
else
{
HandleSystemMessage(activity);
}
return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
}
是否可以通过context参数获取从Post传递给StartAsync方法的用户消息?是否也可以存放东西?文档正在我的头脑中,我想知道这个东西是否可以修改。
答案 0 :(得分:0)
您可以向EchoDialog添加一个构造函数,用于存储您喜欢的任何数据,例如:活动实例。