2015-09-11 3 views
3

В SignalR ступице, я добавляю связи с группами в OnConnected метода:Вам нужно вручную удалить соединение из группы SignalR при отключении?

public override Task OnConnected() 
{ 
    this.Groups.Add(this.Context.ConnectionId, "aGroup"); 
    this.Groups.Add(this.Context.ConnectionId, "bGroup"); 
} 

мне нужно вручную удалить соединение из этих групп, на разъединение Do? Учитывая модель sub-sub, я не вижу, как я мог бы легко это сделать, за исключением отслеживания соединений и групп в отдельной структуре данных.

Я испытываю довольно большую утечку памяти в проекте MVC с использованием SignalR, и мне интересно, может ли это быть виновником.

ответ

3

Нет, у вас нет.

Вам не нужно явно создавать группы. Фактически, группа автоматически создается при первом указании ее имени при вызове Groups.Add, и удаляется при удалении последнего соединения из членства в нем.

Источник, и читать далее: http://www.asp.net/signalr/overview/guide-to-the-api/working-with-groups

+0

Спасибо, @DDan. Возможно, это просто неловко сформулировано, но информация, которую вы цитируете, кажется, говорит о том, что вы должны удалить соединения из группы. Только при удалении последнего соединения группа удаляется. –

+0

Позже, на той же странице, на которую вы ссылаетесь, говорится: «Вам не нужно вручную удалять пользователя из группы, когда соединение заканчивается». Таким образом, длинный и короткий, кажется, что SignalR автоматически выполняет удаление соединение с группой при завершении соединения, поэтому вам не нужно беспокоиться об этом. –

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