C# 通过Microsoft.Bot.Connector.Activity有效负载Microsoft';发送元数据;bot服务框架

C# 通过Microsoft.Bot.Connector.Activity有效负载Microsoft';发送元数据;bot服务框架,c#,botframework,chatbot,C#,Botframework,Chatbot,我们正在开发一个带有基于web的用户界面组件的聊天机器人。这个web组件应该托管在一堆客户机的网站上。每个客户端在我们的后端数据库中都有自己的唯一密钥(id),我们应该能够通过它来跟踪他们的聊天实例 从技术上讲,我们的聊天web应用程序(托管在不同客户的网站上)向托管在我们自己的Azure帐户上的以下操作提交POST请求。将客户机的唯一密钥(id)与活动对象的负载包括在一起的最佳方式是什么?应该利用它的哪个属性来关联我们可能想要处理或跟踪活动的任何类型的元数据 [ResponseType(typ

我们正在开发一个带有基于web的用户界面组件的聊天机器人。这个web组件应该托管在一堆客户机的网站上。每个客户端在我们的后端数据库中都有自己的唯一密钥(id),我们应该能够通过它来跟踪他们的聊天实例

从技术上讲,我们的聊天web应用程序(托管在不同客户的网站上)向托管在我们自己的Azure帐户上的以下操作提交POST请求。将客户机的唯一密钥(id)与活动对象的负载包括在一起的最佳方式是什么?应该利用它的哪个属性来关联我们可能想要处理或跟踪活动的任何类型的元数据

[ResponseType(typeof(void))]
            public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity)
            {
                // check if activity is of type message
                if (activity.GetActivityType() == ActivityTypes.Message)
                {
                    await Conversation.SendAsync(activity, () => new BasicLuisDialog());
                }
                else
                {
                    HandleSystemMessage(activity);
                }
                return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
            }
[ResponseType(typeof(void))]
公共虚拟异步任务发布([FromBody]活动)
{
//检查活动是否为消息类型
if(activity.GetActivityType()==ActivityTypes.Message)
{
wait Conversation.SendAsync(活动,()=>new BasicLuisDialog());
}
其他的
{
HandleSystemMessage(活动);
}
返回新的HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
}

根据“实体”,可以使用“活动”类的属性传递元数据

您能提供一个如何在代码中设置实体的示例吗?