Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Asta - riavvio countdown ogni 30 secondi
martedì 14 giugno 2011 - 23.12
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 3.5
|
Windows 7
|
Visual Studio 2010
|
SQL Server 2008 R2
|
Javascript
superfrankie
Profilo
| Newbie
6
messaggi | Data Invio:
mar 14 giu 2011 - 23:12
Salve a tutti,
sto diventando pazzo per fare una gestione aste online tipo il sito www.bigdeal.com, ovvero con un timer che si riavvia ogni 30 secondi se qualcuno ha fatto un offerta, altrimenti termina l'asta. Con un timer lato server non ho una consecutività del contatore corretta (fa magari 17..15..14.11) mentre con un timer lato client tipo jquery countdown non so come sincronizzare i client non tanto perchè abbiano lo stesso valore di contatore ma quanto perchè se un utente fa un'offerta all'ultimo secondo mi capita che il contatore di questo riparte da 30, mentre gli altri client sono già scaduti non avendo fatto in tempo a ricevere l'aggiornamento (che faccio tramite valorizzazione di un campo hidden con il valore ultimo di offerta tramite un timer lato server). Avete idea di come fare questa cosa? Non so più cosa tentare.
Grazie a chi avrà la bontà di rispondermi.
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
mer 15 giu 2011 - 15:10
la cosa non è semplice.
Non sto ora a riempirti di codice, ma ti do qualche dritta.
Secondo me devi memorizzare l'istante dell'offerta in un formato time sul DB, e poi inserirlo in cache per gli accessi sicuramente alti al dato.
In questo modo sia il codice server che il client posso sapere con precisione al secondo e frazioni, quanto tempo rimane.
Per sincronizzare poi il client con il server, puoi utilizzare delle chiamate AJAX che appunto vanno a leggere ad esempio ogni 5 secondi il valore memorizzato nella cache e possono sincronizzare i countdown.
Cerca in rete come effettuare le chaimate AJAX, ma ancora meglio cerca documentazione sulla tecnologia COMET, che sarebbe una tecnologia che permette di aggiornare il client da parte del server.
Spero di averti dato un buono spunto
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
superfrankie
Profilo
| Newbie
6
messaggi | Data Invio:
mer 15 giu 2011 - 15:32
Ciao,
grazie per le dritte, quindi la strada è giusta, devo solo ottimizzare la cosa. Le chiamate ajax le faccio con PageMethods per impostare la fine asta, provo ad applicare lo stesso sistema al valore corrente dell'asta. Cercherò info sulla tecnologia COMET.
Intanto grazie mille.
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
gio 16 giu 2011 - 10:53
non posso assicurarti che sia l'unica strade e che sia la migliore.........
Io penso che l'importante sia fissare un "dato" che tutti i client debbano leggere, ovvero l'istante dell'ultima offerta.
Dopo di che i client interrogano in continuazione questo dato per capire se aggiornare il countdown. Importante per questo motivo è non interrogare su database, ma il "dato" dovrà essere disponibile o in cache o in session.
Invece usando COMET (che comunque ha una logica simile) ci sarà un evento, una funzione, che (permettimi questa affermazione non proprio precisa) invierà il nuovo dato e farà scattare la funzione di aggiornamento, nel momento in cui viene fatta un'offerta.
Non è semplice ma usando attenzione è fattibile.
Ciao buon lavoro
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !