126 messaggi dal 05 agosto 2013
Mensilmente ho la necessità di aggiornare i dati di una tabella. Quindi la pagina aspx che gli utenti chiamano per visualizzare i dati, durante le mie operazioni di aggiornamento, dovrebbe segnalare un messaggio tipo "Dati in aggiornamento. Attendere qualche minuto".
Premetto pure che i dati della tabella li devo aggiornare da pagina aspx. Quindi cerco una cosa del genere:
- entro nella pagina aspx di gestione dei dati
- faccio clic su un bottone e da quel momento la pagina aspx che vedono gli utenti visualizza quanto detto prima
- aggiorno i dati
- alla fine faccio clic su altro bottone per rimettere in linea la pagina aspx usata dagli utenti
Cosa mi consigliate?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


Premetto pure che i dati della tabella li devo aggiornare da pagina aspx.

Ok, fai in modo che questa pagina aspx, subito prima di iniziare l'aggiornamento dei dati, scriva un semplice file di testo vuoto a segnalare che l'aggiornamento è in corso. Oppure puoi scrivere un valore in una tabella del database appositamente creata a questo scopo.

L'altra pagina aspx, quella incaricata di visualizzare i dati, per prima cosa andrà a verificare se il file di testo (o il valore nel database) è presente. Se è presente, allora vuol dire che l'aggiornamento è in corso e perciò visualizzerà il messaggio "Dati in aggiornamento. Attendere qualche minuto". Altrimenti visualizzerà i dati come al solito.

Quando l'operazione di aggiornamento dati è conclusa, elimina il file di testo oppure elimina il valore nel database.

Grazie a questo accorgimento non dovrai bloccare / sbloccare manualmente la pagina aspx di visualizzazione dati, ma sarà lei stessa a sapere automaticamente quando li può visualizzare e quando no.

ciao,
Moreno
Modificato da BrightSoul il 03 marzo 2019 10:19 -

Enjoy learning and just keep making
126 messaggi dal 05 agosto 2013
Come scrivere il file di testo anche se vuoto e come memorizzarlo? e l'altra pagina come lo cerca?
Modificato da f.amedeo il 03 marzo 2019 10:37 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Così lo scrivi (ovviamente aggiorna il nome della directory e del file per posizionarlo dove preferisci)
System.IO.File.WriteAllText(Server.MapPath("~/Directory/NomeFile.txt"), "")


Così verifichi se esiste
System.IO.File.Exists(Server.MapPath("~/Directory/NomeFile.txt"))


Così lo rimuovi
System.IO.File.Delete(Server.MapPath("~/Directory/NomeFile.txt"))


In alternativa al file, se lo preferisci, potresti anche impostare una variabile Application. A pensarci meglio è preferibile al file così si resetta automaticamente nel malaugurato caso in cui l'applicazione venisse stoppata proprio mentre un aggiornamento è in corso.

Così la imposti prima di aggiornare i dati:
Application.Add("DatiInAggiornamento", 1)


Così verifichi se esiste dalla pagina di visualizzazione dati:
If Application("DatiInAggiornamento") Is Nothing Then
  'Visualizza i dati
Else
  'Mostra il messaggio "Attendere qualche minuto"
End If


Così la rimuovi dopo che l'aggiornamento dati si è concluso
Application.Remove("DatiInAggiornamento")


ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.