Tomasz Filipkowski

Tomasz Filipkowski Senior Analyst /
Programist

Temat: real-time update w AJAX

Witam,
od jakiegoś czasu szukam najefektywniejszego sposobu na aktualizowanie danych na stronie aspx. Oczywiście na 'guglach' jest masę materiałów z tym związanych ale chciałbym poznać Waszą opinię.
Jak sądzicie w jaki sposób najlepiej jest aktualizować np. wyniki zawodów sportowych? coś w stylu real-time/on request update?

Jeśli macie jakies doświadczenia lub sprawdzone eozwiązania to bardzo chętnie na nie zerknę ;)

konto usunięte

Temat: real-time update w AJAX

Nie odkryję ameryki jak powiem, że musi być jakiś timer w JS który okresowo robi zapytanie do serwera. Natomiast dwie sugestie:
- niech to będzie POST - pomoże uniknąć e/w niemiłych sytuacji z cache'owaniem (na wszelki wypadek)
- jeżeli nie ma update to zwróć HTTP304 Not Modified bez contentu

Ja też bym bardziej polecał oparcie się po stronie JS na jQuery niż Microsoftowym API - tym bardziej, że do jQuery mamy od niedawna intellisense w VS co przyspiesza pisanie kodu oraz skraca czas nauki.

Pozdrawiam

Dodano:
M$ planuje silną integrację z jQuery:
http://blog.nicomit.com/index.php/2009/01/jquery-to-sh...maciek kański edytował(a) ten post dnia 26.02.09 o godzinie 19:04
Michał C.

Michał C.
Projektant/Programis
ta .NET, ITBoom

Temat: real-time update w AJAX

Najszybciej i najwydajniej wg moich dotychczasowych doświadczeń sprawdza się jQuery + static methods. Ajaxem pobieranie tylko danych w formacie JSON i po stronie klienta generowanie contentu z wykorzystaniem szablonów (plugin jTemplates). Śmiga to dużo, dużo szybciej niż UpdatePanel, generuje znacznie mniejszy "ruch" i odciąża serwer www.
Tomasz Filipkowski

Tomasz Filipkowski Senior Analyst /
Programist

Temat: real-time update w AJAX

a nie ma czegoś typu trigger/wyzwalacz? tzn dopiero w momencie zaistnienia zmiany dokonuje się update na stronie. Z tego co się pobieżnie zorientowałem to SilverLight ma taką chyba możliwość więc może jakimś bardziej "pokrętnym" sposobem da się to także wymusić na zwykłym ajax'ie?
Rafał T.

Rafał T. Programista C#, ASP
.NET, T-SQL

Temat: real-time update w AJAX

Protokół HTTP nie pozwala na coś takiego abyś ty wysłał do przeglądarki Klienta jakąś wiadomość zawsze wyzwalacz/triger musi być wywoływany od strony klienta. Nie znam SilverLight ale mi się wydaje że na pewno ten mechanizm nie działa na zasadzie przesyłania od serwera do klienta. Może jest już napisany mechanizm który właśnie opisał Maciek. I tylko go się wykorzystuje.

konto usunięte

Temat: real-time update w AJAX

W tym przypadku proponowałbym stworzenie rekurencyjnej funkcji w javascripcie oraz po stronie aplikacji - klasę która będzie przechowywała stan wątku.
Stan mógłby być określony jako: ACTIVE, END, ERROR
Po każdym wywoływaniu funkcji sprawdzamy aktualny stan wątku, jeśli jest ACTIVE, obsługujemy zwrócone dane oraz po ustalonym czasie uruchamiamy ją ponownie, w przeciwnym wypadku informujemy użytkownika o stanie i kończymy jej działanie.



Wyślij zaproszenie do