У меня есть некоторые проблемы с производительностью при использовании веб-сокетов в ASP.NET Core 2.1
Сначала у меня есть реализация веб-сокетов, подобная этому примеру: https://radu -matei.com / blog /aspnet-core-websockets-middleware /
При каждом входящем сообщении websocket мне нужно его проанализировать, вызвать некоторые службы, отправить сообщение обратно в websocket.
if (result.MessageType == WebSocketMessageType.Text)
{
using (var scope = service.CreateScope())
{
var communicationService = scope.ServiceProvider.GetSomeService();
await communicationService.HandleConnection(webSocket, result, buffer);
}
}
Итаккак вы видите в каждом входящем сообщении, я создаю новый Scope, получаю сервис-провайдера, а затем вызываю сервисы по методу данного сервиса communicationService.HandleConnection.Но если сообщений много, мой процессор Azure WebService загружается до 100%.Может кто-нибудь сказать мне, правильно ли я использую эти создания областей в каждом сообщении сокета?