Scopo
Questa funzione permette di recuperare un valore di configurazione da diversi contenitori come, ad esempio, i cookies del browser, l'oggetto sessione, l'oggetto applicazione, il file web.ini, la form ricevuta in POST... Il comportamento della funzione dipende dal tipo di applicazione, come descritto nelle note seguenti.
Questa funzione ha diversi tipi di utilizzo. Ecco i principali:
- Leggere un parametro dell'intera applicazione da un file di configurazione, come ad esempio una stringa di connessione.
- Impostare un parametro permanente nel browser, ad esempio una impostazione che dipende dallo specifico browser piuttosto che dall'utente che si connette.
- Leggere dati arrivati in POST da un'altra applicazione web.
Sintassi
//
valore := GetSetting(sezione, chiave)
Argomenti
Sezione | E' un parametro stringa che identifica il contenitore da cui recuperare i parametri. E' possibile usare uno dei valori della lista valori SettingType oppure indicare una propria stringa per specificare la lettura di un cookie del browser. |
Chiave | E' il nome del parametro da reperire. |
Valore di ritorno
Viene ritornata una stringa che rappresenta il valore del parametro richiesto. Può essere NULL se il parametro non è stato trovato.
Funzionamento applicazione web
Se l'applicazione è web, in base al parametro Sezione si possono ottenere i seguenti comportamenti:
- Applicazione: il parametro viene reperito dall'oggetto applicazione. Se il parametro non è presente nell'oggetto applicazione, allora viene ricercato nel file di configurazione dell'applicazione. Nel caso servlet i parametri di configurazione vengono specificati in una sezione del file web.xml (contenuto nella cartella WEB-INF dell'applicazione); in applicazioni .NET essi sono contenuti nel file Web.Config presente nella directory principale dell'applicazione aspx; in applicazioni .NET Core essi sono contenuti nel file appsettings.json presente nella directory principale dell'applicazione Core.
Esempio per Web.Config (C#)<configuration> <appSettings> <add key="param-name" value="param-value" /> </appSettings> </configuration>
Esempio per Web.Config (.NET Core)"AppSettings": { "param-name": "param-value" },
Esempio per web.xml (Java)<context-param> <param-name>myKey</param-name> <param-value>myValue</param-value> </context-param>
La modifica va effettuata sui file Web.Config, appconfig.json e web.xml copiati nella directory custom della propria applicazione.
Il file Web.Config si trova nella directory di installazione di Instant Developer nel percorso Template/CSharp/Web.Config e va copiato direttamente nella directory custom.
Il file appconfig.json si trova nella directory di installazione di Instant Developer nel percorso Template/CSharp/appconfig.json e va copiato direttamente nella directory custom.
Il file web.xml si trova nella dirctory di installazione di Instant Developer nel percorso Template/Servlet/web.xml e va copiato in una cartella di nome web. - Sessione: il parametro viene reperito dall'oggetto sessione. Se il parametro non è presente viene ritornato null string.
- Form: il parametro viene reperito dalla form arrivata come POST da un'altra applicazione web. Il parametro chiave rappresenta il nome del campo nel form arrivato.
- Valore personalizzato: il parametro viene reperito dai cookies del browser. Il nome del cookie ricercato è uguale alla concatenazione dei due parametri sezione e chiave.
Funzionamento servizio batch
- Servizio Java: in caso di servizio batch java, il valore del parametro Sezione rappresenta il nome del file in cui vengono specificati i parametri, uno per riga, nella forma nome=valore. Se non viene specificato, verrà utilizzato il file "settings.ini".
- Servizio .NET: in caso di servizio batch .NET, il valore del parametro Sezione rappresenta il nome del file xml in cui vengono specificati i parametri nella forma:
<configurazione par1="valore1" par2="valore2" />
Se non viene specificato, verrà utilizzato il file "settings.xml".
Funzionamento web service
Nei web services il valore della sezione è ininfluente, il parametro viene sempre reperito come nel caso "Applicazione" delle applicazioni web.
Esempio
// Evento notificato alla videata al momento del caricamento in memoria.
// *********************************************************************
event ProprietàApplicazione.Load()
{
// Leggo il valore del cookie e lo porto a video
ProprietàApplicazione.ValoreCookie := GetSetting(Esempio, Valore)
}
Ultima modifica: 08/09/2023 / Validità: da 6.5.2680