2012-11-09 31 views
7

Mesajlaşma için SignalR Hub'ı kullanarak bir sohbet odasım var. Bazen 'donuyor' kullanıcılardan raporlar alırım. Artık bu, hiçbir mesaj gelmediği için yorumlanabilir, bir gruptan düştüklerinden şüpheleniyorum.Grup abonelikleri otomatik olarak yeniden bağlanıyor mu?

Sorum, bağlantı otomatik olarak gruplar halinde geri yeniden abone veya yeniden yönteminde şeyi bizzat yapmak zorunda yapmak olsun demek olduğunu:

public Task Reconnect(IEnumerable<string> groups) 
{ 
     return Clients.rejoined(Context.ConnectionId, DateTime.Now.ToString()); 
} 

cevap

5

Evet, 1.0.0.0-alfa1 size Oluşturduğunuz hub hattı hattı için EnableAutoRejoiningGroups uzantı yöntemini kullanarak yeni AutoRejoiningGroupsModule boru hattı modülünü kullanarak grupların otomatik olarak yeniden birleştirilmesini sağlayabilir. Bu özellik çerçevenin önceki sürümlerinde mevcut değildi.

Yani başlatma kodu bu yerde ile sona ereceğini:

GlobalHost.HubPipeline.EnableAutoRejoiningGroups(); 

GÜNCELLEME: gruplarının varsayılan davranışı

SignalR 1.0 son hali yapılmış olduğuna dikkat edin otomatik rejoining ve böylece EnableAutoRejoiningGroups kaldırıldı. Daha fazla bilgi için this answer'u görebilirsiniz.

+0

Bir bonus sorusuyla ele geçirme: Kişileri gruplardan çıkarmayı mı hatırlamalıyım yoksa bağlantının bağlantısı kesildiğinde kendini temizlemeli miyim? –

+2

bağlantıyı kestiğinizde temizlenirler. – davidfowl

+1

'EnableAutoRejoiningGroups()' artık kullanılamıyor ve http://stackoverflow.com/questions/14967575/enableautorejoininggroups-disappeared-in-signalr-1-0 –

İlgili konular