Botframework 修改响应的目标

Botframework 修改响应的目标,botframework,Botframework,我使用MicrosoftBot框架。发件人: 和 Microsoft Bot Emulator(V4预览版)版本4.0.15-alpha。发件人: 我用“机器人应用程序”模板创建了一个新的C#项目。我负责这个项目。我启动了模拟器的两个实体。 现在,我从第一个仿真器实体收到消息,但我想将响应发送到第二个仿真器实体。我该怎么做 这是我试图修改目标(注释的代码)但不起作用的函数 /// <summary> /// POST: api/Messages /// Receive a messa

我使用MicrosoftBot框架。发件人:

Microsoft Bot Emulator(V4预览版)版本4.0.15-alpha。发件人:

我用“机器人应用程序”模板创建了一个新的C#项目。我负责这个项目。我启动了模拟器的两个实体。 现在,我从第一个仿真器实体收到消息,但我想将响应发送到第二个仿真器实体。我该怎么做

这是我试图修改目标(注释的代码)但不起作用的函数

/// <summary>
/// POST: api/Messages
/// Receive a message from a user and reply to it
/// </summary>
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
    //activity.Recipient.Id = "default-user";
    //activity.ServiceUrl = "http://localhost:52234";
    //activity.Conversation.Id = "e7bbb310-a93c-11e8-8dcc-7d6fd69e3901|livechat";
    //activity.ReplyToId = "6cc291f0-a93d-11e8-9634-9f01a6c082d4";

    if (activity.Type == ActivityTypes.Message)
    {
        await Conversation.SendAsync(activity, () => new Dialogs.RootDialog());
    }
    else
    {
        HandleSystemMessage(activity);
    }
    var response = Request.CreateResponse(HttpStatusCode.OK);
    return response;
}
//
///帖子:api/Messages
///接收来自用户的消息并回复
/// 
公共异步任务发布([FromBody]活动)
{
//activity.Recipient.Id=“默认用户”;
//activity.ServiceUrl=”http://localhost:52234";
//activity.Conversation.Id=“E7BB310-a93c-11e8-8dcc-7d6fd69e3901 | livechat”;
//activity.ReplyToId=“6cc291f0-a93d-11e8-9634-9f01a6c082d4”;
if(activity.Type==ActivityTypes.Message)
{
wait Conversation.sendaync(活动,()=>newdialogs.RootDialog());
}
其他的
{
HandleSystemMessage(活动);
}
var response=Request.CreateResponse(HttpStatusCode.OK);
返回响应;
}
我启动了模拟器的两个实体。现在,我从第一个仿真器实体收到消息,但我想将响应发送到第二个仿真器实体。我该怎么做

在编写代码将消息发送到另一个仿真器之前,需要获取
ServiceUrl
conversationId
等的值,然后可以参考以下代码将消息发送到指定的会话

在对话框中:

测试结果:


你问的问题很不清楚。你在讨论什么样的模拟器框架?您已经标记了非常通用的。还请添加任何支持代码,以帮助我们进一步了解您的问题。
await context.PostAsync($"{this.count++}: You said {activity.Text}");

var userAccount = new ChannelAccount(name: "User", id: "default-user");
var botAccount = new ChannelAccount(name: "Bot", id: "default-bot");

var connector = new ConnectorClient(new Uri("{your_ServiceUrl_here}"));

IMessageActivity message = Activity.CreateMessageActivity();
message.From = botAccount;
message.Recipient = userAccount;

//specify conversationId
message.Conversation = new ConversationAccount(id: "{your_conversationId_here}");
message.Text = $"You said {activity.Text} from emulator1";
message.Locale = "en-Us";
await connector.Conversations.SendToConversationAsync((Activity)message);
context.Wait(MessageReceivedAsync);