Domanda

Ho una dichiarazione di oltre 200 casi in ASP classico che sta andando fuori controllo.Imposta 5 variabili, in base al caso selezionato.Indirizzo, telefono, nome ecc.Imposta solo le variabili e nient'altro in ciascun caso.

I database o i file non sono un'opzione per questa applicazione.

Venendo dal mondo Perl, utilizzerei un hash per memorizzare queste informazioni.

È stato utile?

Soluzione

Brian, il classico equivalente ASP di un hash Perl è il file Scripting.Dictionary oggetto.

Altri suggerimenti

Perdere il controllo?Penso che sia già fuori controllo!

Non puoi classificare i casi in "x" aree generali e suddividerli in routine di aiuto?

Dipende da cosa vuoi per le prestazioni.

L'istruzione case è brutta ma non consuma memoria che dovrebbe essere allocata.

Tuttavia, potresti creare una classe per i tuoi campi e caricarne le istanze in un dizionario.Esegui questa operazione nello script global.asp in modo che avvenga solo una volta.Archiviare il dizionario nella raccolta asp globale in modo che venga allocato solo una volta ma utilizzato con ogni chiamata di pagina.

Mi scuso per non essere stato troppo specifico qui...è passato un po 'di tempo.

Molte persone utilizzano VBScript per ASP classico, ma in alternativa è possibile utilizzare JavaScript/JScript sul server.In effetti, questo è il mio modo preferito di eseguire ASP classico prima di passare definitivamente a .NET (tranne che in alcuni casi, dovrai utilizzare VBScript per casi speciali, ad es.Recordset disconnesso, ExecuteNoRecords, ecc.).Ti fornirà un migliore supporto OOP rispetto a VBScript.Forse puoi provare a rifattorizzarlo in una sorta di modello di strategia in seguito.Vale la pena esaminarlo, immagino per una migliore manutenzione a lungo termine.

Il fatto che non sia possibile migrarlo su un database o su un file di testo è un po' un problema poiché sarebbe la soluzione migliore per questo tipo di dati.Tuttavia, se devi averlo nel codice, puoi sempre provare a inserirlo in una matrice predefinita.Quindi potresti fornire una funzione che restituisca i dati da una determinata riga nella matrice.

Il dizionario di scripting è l'opzione migliore A parer mio.

Questo dovrebbe essere fatto con un database, ma poiché hai detto che non è un'opzione, nulla di ciò che scriverai sarà meno complesso di un'istruzione switch, poiché è tutto necessario per vivere nel tuo codice (secondo i tuoi termini di no db e nessun documento).

Voglio dire, potresti usare un foglio di calcolo Excel se l'idea di a Banca dati è anche complicato ma tecnicamente anche quello sarebbe un file!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top