Я пытаюсь маршрутизировать сообщения с помощью Bot Framework (от одной учетной записи к другой). К сожалению, время, прошедшее с момента отправки и доставки сообщения, составляет около 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