2009-07-27 10 views
9

Buduję aplikację klient/serwer za pomocą Silverlight, usług internetowych i odpytywania. Najwyraźniej przegapiłem całą komunikację Duplex Communication, kiedy po raz pierwszy badałem ten temat. W każdym razie, MSDN article widziałem na ten temat było obiecujące.Skalowalność sondowania dupleksowego za pomocą Silverlight/IIS

Podczas badania skalowalności wydaje się, że istnieją sprzeczne opinie na temat opinii.

silverlight.net/forums/t/89970.aspx - Wątek ten wydaje się wskazywać, że polling dupleks obsługuje tylko skończoną liczbę klientów współbieżnych na końcu serwera.

dotnetaddict.dotnetdevelopersjournal.com/sl_polling_duplex.htm - Ten wpis na blogu pojawia się w wielu miejscach, więc mętnie nawadnia.

silverlight.net/forums/t/108396.aspx - Ten wątek pokazuje, że nie jestem jedynym, który ma ten problem, ale nie ma w nim odpowiedzi.

silverlight.net/forums/t/32858.aspx - Pomimo złej prasy, ten wątek wydaje się mieć oficjalną odpowiedź mówiąc 10 jednoczesnych połączeń jest za maszynie.

Krótko mówiąc, czy ktoś ma fakty/testy porównawcze?

Dzięki :)

+0

Inna sprawa, z którą miałem do czynienia w Silverligth 4 Polling Duplex i IIS [klient WCF Silverlight nie otrzymał odpowiedzi 404 na wiadomość w ankiecie] (http://stackoverflow.com/q/13838777/485076) – sll

Odpowiedz

6

To jest moje rozumienie tego, ale nie zrobiłem testów.

Istnieje wbudowany limit 10 połączeń w systemach operacyjnych innych niż serwerowe (XP/Vista/Windows 7). W IIS 6 (XP) odrzuci nowe połączenia, gdy będzie ich 10. W II7 (Vista/Windows 7) będzie kolejkować połączenia, gdy będzie ich 10. Myślę, że oznacza to, że 10 jednoczesnych połączeń jest niedostępnych.

Po stronie serwera (2003/2008) nie ma limitu połączenia. Jednak w IIS6 (2003) każde długo działające połączenie przejmie wątek z tego wątku, więc szybko osiągniesz limit połączeń. W IIS7 (2008) wątki asynchroniczne zostają zawieszone w sposób, który nie powoduje użycia wątku, więc 1000 połączeń powinno być możliwe.

+1

Sądzę, że miałem nadzieję dla niektórych cytatów/referencji.:( – JustLoren

1

Istnieją wbudowane limity WCF. Limity te można jednak bardzo łatwo rozszerzyć poprzez konfigurację. (http://weblogs.asp.net/alexeyzakharov/archive/2009/04/17/how-to-increase-amount-of-silverlight-duplex-clients.aspx)

Występuje kilka problemów z wiązaniem dupleksu. Od czasu do czasu kanał jest błędny bez wyraźnego powodu i ma trudności z ponownym nawiązaniem połączenia. Nie jestem świadomy żadnej alternatywy dla wdrożenia modelu push, bez robienia wszystkiego samemu (i może nawet uzyskania najgorszych wyników).

5

Skalowalność zaplecza WCF za pomocą protokołu w scenariuszu farmy sieciowej omówiono pod adresem http://tomasz.janczuk.org/2009/09/scale-out-of-silverlight-http-polling.html.

+0

Podczas korzystania z Silverligth 4 Polling Duplex i IIS napotkam na inny problem z skalowalnością, w zasadzie obserwuje awarie podczas używania wielu procesów wrokerowych na AppPoll - [Klient WCF Silverlight otrzymuje 404 nie znaleziono odpowiedzi na wiadomość ankiety] (http://stackoverflow.com/q/13838777/485076), być może można to rozwiązać bez implementowania protokołu MC? – sll

Powiązane problemy