2016-09-27 3 views
1

Я пытаюсь маршрутизировать сообщения с помощью 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)); 
    } 
} 

ответ

2

Я решил проблемы с скоростью в API прямой линии связи, изменив свое расположение развертывания Azure на запад США.

+0

Благодарим вас (и @ Jim Lewallen) за ответы. Изменение местоположения сервера помогло добиться ускорения в 1,5 раза! – Sovan

1

Можете ли вы подтвердить, где находится ваш бот, и где вы находитесь? (континент - это все, что мне нужно). Я пытаюсь выяснить, есть ли кросс-океанская латентность.

+0

Мой бот развернут в Западной Европе по стандарту: 1 небольшой план обслуживания. Мы находимся в Санкт-Петербурге (Россия). – Sovan

+0

Это может быть большой частью этого. Серверы бот-инфраструктуры в настоящее время развернуты на востоке и западе США. Поверхность этого - у нас есть планы по расширению центров обработки данных в Западной Европе и Азии в конце этого года. –

Смежные вопросы