Guide

Gestire gli Upload di File in ASP

Quando si realizza una pagina di caricamento file (upload) in ASP, intervengono diversi fattori che determinano il successo o meno del caricamento, in particolare, con file piuttosto grandi, è possibile avere dei problemi che possono dipendere dal fatto che, passato un determinato periodo di tempo, lo script ASP va in timeout prima che il file sia stato caricato completamente sul server Web, oppure, un altro fattore che entra in gioco è la dimensione massima del file che può essere caricato su un server Web.

Per quanto riguarda la regolazione del timeout dello script, è possibile utilizzare la proprietà Server.ScriptTimeout, che indica il tempo massimo – espresso in secondi – a disposizione dello script per la sua completa esecuzione, secondo questa forma:

Server.ScriptTimeout = 300

Con l’esempio indicato, uno script andrà in timeout dopo 300 secondi, ossia dopo 5 minuti.

La dimensione massima caricabile su un server Web IIS 6.0 su Windows Server 2003 invece va regolata editando il file c:\windows\system32\inetsrv\metabase.xml e impostando il valore del parametro “AspMaxRequestEntityAllowed”, che assume il valore predefinito di 204800 byte (200Kbyte), alla dimensione desiderata, espressa sempre in byte. L’editing diretto di questo file però non è consentito se IIS è attivo, ma comunque è possibile modificare questo valore tramite l’esecuzione di uno script VBS in grado di variare questo parametro, seguendo questa sintassi:

cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed dimensione

dove al posto di dimensione va indicata la massima dimensione in byte consentita per i file caricati tramite upload. Fatta questa modifica va riavviato il servizio iisadmin tramite la console di gestione dei servizi di Windows Server oppure tramite il comando iisreset. Fatta questa operazione, la modifica è attiva ed è operativo il nuovo limite di caricamento file sul server.

Guide

DNS e DHCP su un Dominio Windows Server

In una rete con un server di dominio Windows Server 2003 è indispensabile un corretto funzionamento del servizio DNS, onde evitare problemi nell’utilizzo dei servizi di autenticazione e dei normali servizi di rete erogati su una LAN, poiché Active Directory (da ora in poi AD) si basa su DNS per il proprio funzionamento, senza contare che la risoluzione dei nomi host dei PC in rete viene realizzata sempre tramite DNS. Per evitare di dover gestire a mano tutte le corrispondenze nome host -> indirizzo IP, il servizio DNS integrato in Windows Server 2003 supporta gli aggiornamenti dinamici dei record di risorse dell’host (A) – cioè dei record memorizzati nelle zone di ricerca diretta – e dei record di risorse del puntatore (PTR) – i record memorizzati nelle zone di ricerca inversa – da parte dei client della rete a partire da Windows 2000. In questo modo, quando avvengono dei cambi di nomi host o dei cambi di PC sulla rete locale, non è necessario cambiare a mano i record presenti sul server DNS, poiché gli aggiornamenti sono automatici.

Se nella rete abbiamo un server DHCP (come accade nella stragrande maggioranza delle reti, pratica comunque sempre condivisibile a mio parere), dobbiamo accertarci che questo supporti gli aggiornamenti dinamici dei record DNS, ovviamente, se usiamo il server DHCP integrato in Windows Server, non avremo problemi, visto che per impostazione predefinita, quando rilascia un lease ad un client, si occupa di aggiornare le zone diretta ed inversa del dominio AD coi corrispondenti record (A) e (PTR); a tal riguardo, bisogna fare attenzione a non avere attivo un server DHCP su altri dispositivi presenti in rete (come un router) che potrebbe creare conflitti con il server DHCP installato sul server, infatti in questi casi la cosa migliore è utilizzare l’accoppiata server DNS – server DHCP già presenti sul Windows Server 2003.

Quando un client cambia il proprio nome oppure quando viene registrato nel dominio, il servizio DHCP Client fa una query di tipo SOA al proprio server DNS primario, e se riceve una risposta affermativa, tenta di contattare il server DNS restituito come risultato dell’interrogazione per fornirgli un aggiornamento dinamico che includa il nuovo valore dell’accoppiata nome host -> indirizzo IP come record (A) e (PTR), ed inoltre, contestualmente e se necessario, rimuova la vecchia accoppiata nome host -> indirizzo IP dalla “forward zone” e dalla “reverse lookup zone” di AD.

Se in una rete è attivo un server DHCP su un controller di dominio, allora può essere lo stesso server DHCP a farsi carico di aggiornare dinamicamente il server DNS per conto dei client; ciò è indispensabile in quanto può succedere in qualsiasi momento che un server DHCP cambi l’assegnazione dell’indirizzo IP ad un client, ed è quindi di fondamentale importanza che vengano aggiornati i record (A) e (PTR) relativi al client sul server DNS, altrimenti la macchina non sarà contattabile in rete locale. Per forza di cose quindi il server DHCP di Windows Server 2003 è configurato per aggiornare dinamicamente il server DNS in modo predefinito, ma solamente per quei client che richiedono in modo predefinito l’aggiornamento dinamico, cioé che hanno come sistema operativo Windows 2000, Windows XP o Windows Server 2003 (e presumo anche Windows Vista). Come comportamento predefinito, quando un client riceve un lease dal server DHCP, il client cercherà di aggiornare il record di risorse dell’host (A), mentre il server DHCP tenterà di aggiornare il record di risorse del puntatore (PTR). Per controllare le impostazioni concernenti gli aggiornamenti dinamici da parte di client e server DHCP, cliccare col tasto destro sul server DHCP in MMC e andare su Properties, quindi cliccare sulla scheda DNS.

Sempre parlando della configurazione predefinita dei server DNS e DHCP in Windows Server 2003, bisogna considerare che gli aggiornamenti dinamici del server DNS avvengono per default in modalità protetta per le zone integrate in AD, ciò significa che solamente i client ed i server facenti parte del dominio AD possono effettuare aggiornamenti dinamici sul server DNS. In questa situazione, è necessario creare un account utente di AD che verrà utilizzato dal servizio DHCP server per aggiornare dinamicamente il server DNS, ed impostarlo effettivamente per questo compito, andando sempre in console MMC di DHCP, quindi cliccando col tasto destro sul server, Properties, Advanced, cliccare sul pulsante Credentials, e comparirà una maschera dove inserire il nome utente dell’account di cui sopra, il dominio di appartenenza e la relativa password. Tenere presente inoltre che l’account dedicato va creato anche quando il servizio DHCP è attivo su un controller di dominio (situazione tipica presente su piccole reti) e quando è il servizio DHCP che registra gli aggiornamenti dinamici per conto dei client, in parole povere, questo account va impostato nelle situazioni più comuni di funzionamento di Windows Server 2003.

Guide

Come Sincronizzare l’Ora di un Domain Controller

Se si vuole sincronizzare l’ora del nostro domain controller (DC) con un time server esterno per avere sempre l’ora corretta impostata su tutto il dominio, i passi da compiere sono pochi e semplici. La sincronizzazione avviene per mezzo del protocollo NTP, che serve proprio a questo scopo.

Per sincronizzare l’ora del server, basta digitare questi due semplici comandi:

w32tm /config /syncfromflags:manual /manualpeerlist:time.ien.it,www.clock.org
w32tm /config /update

Da notare l’ultimo parametro del primo comando, /manualpeerlist, dove di seguito sono indicati due time server tramite i quali sincronizzare la nostra rete locale, o meglio, si sincronizza l’ora del server, il quale a sua volta funge da time server per i client della rete.

Molto interessante.

Guide

Come Utilizzare la Funzionalità Seleziona Celle Visibili

Se avete la necessità di selezionare, da un foglio di lavoro Excel 2007, per poi copiare ed incollare, su un altro foglio di lavoro, solo le informazioni contenute nelle celle visibili, evitando di copiare anche i dati delle celle che avete filtrato o nascosto, non dovete fare altro che utilizzare la funzionalità di Microsoft Excel 2007 “Seleziona celle visibili” (“Select visible cells” nella versione in inglese del programma), seguendo i passaggi descritti in questa guida.

Di seguito vi verranno descritti i semplici passi che dovrete seguire per imparare ad utilizzare la funzionalità “Seleziona celle visibili”, nel caso in cui avrete l’esigenza di selezionare e poi copiare ed incollare solo le celle filtrate da una lista di dati elencati su un foglio di lavoro Excel. Considerate il caso in cui avete un lungo elenco di Codici Prodotto, ad esempio, e di dover copiare solo quelli che iniziano per “C05”.

Per trovare tali record in modo semplice e rapido vi basterà inserire sul foglio di lavoro la funzionalità “Filtro”, selezionando tutte le celle della riga 1 valorizzate (solo la cella A1 nel nostro esempio) e selezionando, nella scheda “Dati” (“Data” nella versione in inglese), la funzionalità “Filtro” (“Filter”) per poi filtrare l’elenco, utilizzando il “Filtro” che è stato appena aggiunto sull’intestazione della colonna (freccia in basso a destra della cella) selezionando la funzionalità “Filtro per testo” (“Text Filters” nella versione in inglese) e poi la funzionalità “Inizia con” (“Begins with”), all’interno della quale andrete a scrivere “C05”.

In questo modo avrete a video, non più tutta la lista dei Codici Prodotto, ma soltanto i prodotti filtrati (ovvero solo la parte relativa ai codici prodotto che iniziano per “C05”) che intendete selezionare, copiare ed incollare su un altro foglio di lavoro, senza rischiare di ritrovarvi, in quest’ultimo, le informazioni non filtrate (ovvero i codici prodotto che non iniziano con “C05”).

Per iniziare è necessario premettere che la funzionalità “Seleziona celle visibili” deve essere aggiunta nella barra degli strumenti, premendo il tasto destro del mouse posizionato proprio sulla barra degli strumenti e poi selezionando su “Personalizza barra di accesso rapido” (“Customize Quick Access Toolbar”).

Si aprirà in automatico una finestra nella quale dovrete selezionare, nel menu a tendina “Scegli comandi da” (“Choose commands from”), la dicitura “Comandi non presenti sulla barra multifunzione” (“Commands Not in the Ribbon”) e dunque scegliere nell’elenco visualizzato il comando desiderato, Seleziona celle visibili, nel nostro caso, e cliccate sul tasto “Aggiungi” (“Add”), cliccate infine su “OK”. In questo modo la funzionalità che avete scelto, verrà aggiunta in automatico nella barra di accesso rapido.

Dopo aver aggiunto la nuova funzionalità sulla barra di accesso rapido dovrete selezionare l’elenco dei Codici Prodotto che iniziano con “C05” filtrato in precedenza, cliccare sulla funzionalità “Seleziona celle visibili” (“Select visible cells”) (in tal modo il programma selezionerà effettivamente solo le celle visibili a video e non quelle delle righe filtrate), copiare le celle selezionate utilizzando la funzionalità “Copia” (“Copy”) sulla barra multifunzione.

Aprire dunque il nuovo foglio di lavoro ed incollare l’elenco copiato utilizzando la funzionalità “Incolla” (“Paste”) sulla barra multifunzione. In questo modo avrete copiato sul nuovo foglio di lavoro sole le celle visibili selezionate. Invece, tutte le celle contenute all’interno delle righe e/o delle colonne filtrate e/o nascoste non saranno in alcun modo considerate.

Guide

Come Utilizzare la Funzione Arrotonda in Excel

Cosa significa saper utilizzare il programma Microsoft Excel 2007? Significa imparare a conoscere anche le funzioni principali contenute al suo interno e selezionabili dalla barra del menu. In particolare, se leggerete con attenzione la seguente guida, alla fine della vostra lettura, riuscirete senza problemi ad utilizzare la funzione “ARROTONDA” (“ROUND” nella versione inglese del programma), una delle funzioni matematiche predefinite di Excel.

1 La funzione “ARROTONDA” (“ROUND”) di Microsoft Excel 2007 vi servirà per riuscire ad arrotondare le cifre di un determinato numero alla quantità di cifre desiderate. Consideriamo di avere una tabella contenente nella colonna “A” una lista di prodotti, nella lista “B” una lista contenente i relativi prezzi con una serie di cifre decimali d immaginiamo di voler inserire nella colonna “C” lo stesso valore ma arrotondato, utilizzando la funzione “ARROTONDA” (“ROUND”)appunto.

Per prima cosa, dovete posizionarvi con il mouse sulla cella “C2” e dalla barra del menu selezionate il comando “Inserisci funzione” (“Insert function”), che trovate nella parte alta della schermata, si aprirà così, in automatico, una finestra di dialogo, all’interno della quale dovete selezionare dal menu a tendina, contenuto nella sezione in alto, la categoria di funzioni “Matematiche e trigonometriche” e selezionate poi, nella sezione in basso della finestra, la funzione “ARROTONDA”(“ROUND”) e infine premete il tasto “OK”.

Si aprirà, in questo modo, un’altra finestra di dialogo composta da due diverse caselle in cui inserire le informazioni. Nella casella “Num” (“Number” nella versione inglese del programma) dovete andare ad inserire il riferimento della cella che contiene il numero da arrotondare (nel nostro esempio “B2”) oppure direttamenteil numero da arrotondare (nel nostro esempio 35,87394); invece nella casella “Num_cifre” (“Num_digits” nella versione inglese del programma) dovete, invece, inserire il numero di cifre in cui desiderate arrotondare il valore. Applicate la stessa procedura per tutte le altre righe della tabella, in modo da ottenere i valori arrotondati al numero di cifre che desiderate per ognuno.