2011-10-12 9 views
11

Mevcut bir siteyi SignalR kullanmak için güncellemeyi düşünüyorum. Sitem veri değişimleri için üçüncü taraf bir hizmeti inceliyor, bazı sihirbazlar yapıyor ve müşteriler herhangi bir güncellemeyle görünümlerini yenilemek için birkaç dakikada bir anket yapıyor.SignalR güvenilir olmayan veya duraklatılmış ve yeniden bağlanan bağlantılarla?

SignalR, istemciden yoklamayı ortadan kaldırmak için harika bir yol gibi görünüyor, ancak SignalR tutamaçlarının, özellikle bir süredir askıya alınmış olabilecek mobil web uygulamalarıyla ilgili olarak & yeniden bağlanan bağlantıları nasıl düşürdüğünü bilmek istiyorum. Bu arada kaçırılan güncellemeleri otomatik olarak müzakere eder ve sıraya koyar mı yoksa müşterinin bu durumlarda sıfırdan yeniden başlatılması mı gerekiyor? Baktım ama bu konuda herhangi bir belge bulamadı.

cevap

10

Bu, istemcinin gördüğü son mesaj kimliğini izlediğinden, bu kesinlikle mümkündür. Mesajları kaçırırsa, sunucuya bir dahaki sefere gönderir (son gördüğünden beri tüm mesajları sormak).

Varsayılan olarak, SignalR'in sunucu tarafı hafızada (ve her birkaç saniyede bir temizler) mesajlar saklar, ancak istemcileri çevrimdışı hale getirmeyi düşünüyorsanız, bazı kalıcı depolamaya (bkz. IMessageStore) devam etmek için bunu değiştirebilirsiniz. yakalamak.

SignalR, öğeleri kendi uygulamanızın mantığıyla devam ettirebilir; Uygulamaya gerçekten bağlı.

Mobil istemciler için herhangi bir özel destek eklemedik ancak mobil istemciniz için gereken yerel depolama alanınızda mesaj kimliğini kullanabilirsiniz.

Bu ayrıntılar çok spesifik değil, ne yapmak istediğinizin tümü SignalR ile mümkündür.

+0

Harika, teşekkürler. Ekstra kredi: Bana böyle bir şey yapan herhangi bir demo uygulama/kod için işaret edebilir misiniz? –

+0

Hayır Yapamam :). SignalR yepyeni ve henüz mobil cihazlar ile henüz çok çalışmadık. – davidfowl

+0

Ah iyi. Cep telefonunun doğrudan alakalı olmadığı gerçeği, ancak ** ağda kesintiler yapabileceğiniz bir konumdur. (_ * Öksürük * AT & T_), uyarı vermeden askıya alma/sonlandırma, vb. gereken alt düzey kancalar - isteklerde bulunan ID'ler, IMessageStore - gerisini kendim inşa etmek için. Yeterli bir şekilde jenerik oluşturabilirsem paylaşır! –

0

Oku Understanding and Handling Connection Lifetime Events in SignalR, özellikle bu bölümler:

Bu belge, 2014 yılında yazıldı ve temel olarak 2011-2012 dönemindeki yanlış veya eksik StackOverflow SignalR ile ilgili soruların/yanıtların birçoğunu geçersiz kılıyor.

İlgili konular