2012-11-09 29 views
7

Tôi có phòng trò chuyện sử dụng Trung tâm SignalR để nhắn tin. Thỉnh thoảng tôi nhận được báo cáo từ người dùng nơi nó bị treo. Bây giờ điều này có thể được giải thích là không có thông điệp nào được thông qua, tôi nghi ngờ vì chúng đã bị loại khỏi một nhóm.Các đăng ký nhóm có được tự động xử lý khi kết nối lại không?

Câu hỏi của tôi là, không kết nối được tái đăng ký trở thành các nhóm một cách tự động, hoặc làm bạn phải làm điều gì đó cho mình trong phương pháp Reconnect:

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

Trả lời

5

Có, trong 1.0.0.0-alpha1 bạn có thể bật tự động kết nối lại các nhóm bằng cách sử dụng mô-đun đường ống mới AutoRejoiningGroupsModule bằng cách sử dụng phương pháp mở rộng EnableAutoRejoiningGroups cho kênh trung tâm bạn tạo. Tính năng này không có sẵn trong các phiên bản trước của khung công tác.

Vì vậy, bạn sẽ kết thúc với một nơi nào đó trong mã khởi động của bạn:

GlobalHost.HubPipeline.EnableAutoRejoiningGroups(); 

UPDATE:

Xin lưu ý rằng phiên bản cuối cùng của SignalR 1.0 đã tự động tái nhập với các nhóm hành vi mặc định và do đó, EnableAutoRejoiningGroups đã bị xóa. Bạn có thể xem this answer để biết thêm chi tiết.

+0

Tấn công bằng câu hỏi thưởng: Tôi có nên nhớ xóa mọi người khỏi nhóm một lần nữa hoặc tự xóa nó khi kết nối bị ngắt kết nối? –

+2

chúng sẽ bị xóa khi bạn ngắt kết nối. – davidfowl

+1

'EnableAutoRejoiningGroups()' không còn khả dụng và tự động kết nối lại là hành vi mặc định theo http://stackoverflow.com/questions/14967575/enableautorejoininggroups-disappeared-in-signalr-1-0 –

Các vấn đề liên quan