ボットフレームワークを使用して(あるアカウントから別のアカウントに)メッセージをルーティングしようとしています。残念ながら、メッセージが送信されてから配信されるまでの時間は、実際のボットで約3秒(エミュレータで約1.5秒)です。それを増やす能力はありますか? 1.5秒は受け入れられますが、3秒の遅れは本当に面倒です。 ここには、Postメソッドとダイアログのコードがあります。メッセージルーティングとその速度
public async Task<HttpResponseMessage> Post([FromBody] Activity message)
{
if (message.Type == ActivityTypes.Message)
{
await Conversation.SendAsync(message,() => new SendingTestDialog());
}
return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
}
[Serializable]
public class SendingTestDialog : IDialog
{
public async Task StartAsync(IDialogContext context)
{
context.Wait(MessageReceivedAsync);
}
public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
{
var messageReceived = await argument;
var message = context.MakeMessage();
message.Type = messageReceived.Type;
message.From = new ChannelAccount("MyBotId", "MyBotName");
message.ChannelId = "telegram"; //doesn't really matter
message.Recipient = new ChannelAccount("RoutedToAccId", "RoutedAccName");
message.Text = "**Test**: " + messageReceived.Text;
message.Conversation = new ConversationAccount(false, "RoutedToAccId", "RoutedAccName");
var connector = new ConnectorClient(new Uri("https://telegram.botframework.com/"));
await connector.Conversations.SendToConversationAsync((Activity)message);
context.Done(new HttpResponseMessage(System.Net.HttpStatusCode.Accepted));
}
}
お返事ありがとうございます(と@Jim Lewallen)。サーバーの場所を変更すると、約1.5倍の速度向上が得られました! – Sovan