WEB: Progress Bar
copia linkDescrizione del difetto
Sono stati risolti alcuni malfunzionamenti segnalati riguardo la videata di avanzamento (Progress Bar) in applicazioni web.
Effetti del malfunzionamento
- La pressione del bottone ANNULLA, mostrato nella videata di avanzamento se l'operazione in corso è annullabile, in alcuni casi non aveva effetto.
- Dopo aver annullato l'operazione una prima volta l'annullamento di operazioni successive poteva non funzionare in casi particolari.
Soluzioni
Utilizzare la versione 8.5.3800.
Funzionalità interessate
L'uso della funzionalità di avanzamento applicazioni web.
Note
-
Attenzione: In tecnologia Java la videata di avanzamento viene aggiornata solo ogni 5 secondi mentre in applicazioni C# viene aggiornata ogni 2 secondi. Questo fenomeno è dovuto alla cache di Tomcat. Tale cache non ha nulla a che fare con la cache del browser. E' piuttosto una ulteriore cache gestita da tomcat il cui funzionamento è il seguente: ogni volta che un qualunque browser richiede uno specifico file al server http, tomcat controlla se ha già inviato quel file negli ultimi 5 secondi. Qualora questo sia il caso lo invia senza rileggerlo dall'hard disk. In questo caso se la funzione TrackPhase viene chiamata, per esempio, ogni secondo Tomcat non "vede" modifiche al file se non ogni 5 secondi e, di conseguenza, la barra di avanzamento viene aggiornata solo ogni 5 secondi.
E' possibile, qualora lo si desideri, disabilitare il caching dei file lato server. Per farlo è sufficiente fermare Tomcat e modificare il file SERVER.XML presente nella cartella CONF di Tomcat. Tale file contiene informazioni riguardo tutte le applicazioni web installate nell'application server. Occorre cercare il nodo XML che descrive i parametri da utilizzare per il sito che deve utilizzare la barra di avanzamento. Se il nodo non esiste vuol dire che il sito web sta utilizzando la configurazione predefinita di tomcat. In questo caso è possibile crearlo aggiungendo<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="false" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" displayName="Webdav Content Management" docBase="C:\jwsdp\webapps\[SITE]" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/[SITE]" privileged="false" reloadable="false" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper" />
dove [SITE] indica il nome del sito, ovvero il nome dell'applicazione web prodotta con Instant Developer senza spazi. Qualora il nodo esista già è sufficiente cambiare il valore della proprietà cachingAllowed da "true" a "false". In questo modo viene spenta la funzionalità di caching server side e Tomcat rileggerà dall'hard-disk i file ogni volta che questi vengono richiesti.
Le informazioni qui riportate riguardano Tomcat 4.1.18. Suggeriamo di verificare se il formato del nodo CONTEXT mostrato sopra non sia cambiato nelle versioni successive di Tomcat.
N.B. Qualora il problema dell'aggiornamento ogni 5 secondi non si manifesti suggeriamo di non modificare il file SERVER.XML.
Ultima modifica: 25/10/2016 / Validità: da 8.5.3800