ARVIXE web hosting e dintorni

In ogni lavoro che preventivo mi trovo nella necessità di dover consigliare al cliente un servizio di hosting che sia al tempo stesso performante con un'assistenza altamente qualificata ma anche economico. Premetto che io mi occupo esclusivamente di sviluppo su piattaforma Windows per cui l'hosting deve essere necessariamente Windows dotato di framework .NET aggiornato all'ultima versione, offrire la possibilità di attivare uno o più istanze di MS SQL SERVER, permettere la personalizzazione della configurazione di IIS, supportare il Full Trust ecc... Di fatto in Italia le due caratteristiche prima menzionate sembrano non poter coesistere per cui per avere un servizio efficiente, con un'assistenza professionale si deve spendere molto denaro.

Nel mio lavoro ho avuto modo di testare parecchi hosting ma mai nessuno mi ha soddisfatto pienamente: segnalo comunque che uno dei migliori hosting che abbia mai provato è DISCOUNTAsp (www.discountasp.com) ma purtroppo molti clienti si sono lamentati per la lentezza dell'hosting anche se i server risiedevano in europa.

Mi sono sono allora sperimentato nel testare diverse proposte cercando di escludere in un primo approcio i server oltreocenano perché come molte risorse tecniche recitano, le distanze di tali server dall'Italia aumentano inesorabilmente i tempi di latenza (http://www.hostingtalk.it/articoli/noamweb/3240/webhosting-server-scegliere-soluzione-ed-hoster?page=6).

Di fatto anche se l'asserzione di cui sopra è del tutto razionale, il tempo di risposta di una stessa applicazione non dipende solo dalla distanza dell'hosting ma anche dalla velocità di elaborazione del server (ovviamente).

Una testimonianza di quanto affermo è ARVIXE (www.arvixe.com) web hosting, i cui server sono collocati a Santa Rosa in California.

Ad un prezzo molto competitivo anche rispetto all'italiano ARUBA, ARVIXE offre un hosting condiviso, molto performante e dotato di molte caratteristiche e peculiarità in Italia introvabili. L'assistenza, 7 giorni su 7, è molto professionale e cordiale.

Dopo aver testato l'hosting per 1 mese con un'applicazione molto complessa, ho deciso di affidarmi ad ARVIXE per tutti le mie applicazione. L'unico neo è che per ora ARVIXE non accettata la migrazione e/o registrazione di domini .it ed .eu

Selezione Linq su DataTable

L'utilizzo diretto di Linq su DataTable non è possibile; è tuttavia possibile applicare Linq sulla proprietà DefaultView della DataTable che restituisce l'oggetto DataView associato alla tabella, ovvero la vista personalizzabile di un oggetto DataTable. Ad esempio il codice seguente tralascia le prime 5 righe della tabella ed estrae le successive 15
Dim dt as DataTable = ....
Dim query = From row In dt.DefaultView Skip 5 Take 15

Formato Money in SQL SERVER

Pochi giorni fa ho perso più di una giornata per comprendere e risolvere un problema con la visualizzazione del contenuto di una campo Money in SQL SERVER 2008.

In particolare sul server di sviluppo il delimitatore dei decimali era la "," (virgola) mentre sul server di produzione il "." (punto).

Per cui ad esempio sul server di sviluppo veniva restituita una valuta con il seguente formato "1500,13" mentre sul server di produzione ottenevo "1500.13".

E' da notare che le impostazioni internazionali di Windows erano le stesse così come la lingua e le impostazioni dell'istanza di SQL SERVER.

Dopo aver perso non poche ore nel controllare le differenze tra le istanze di SQL SERVER mi sono accorto che Windows permette di personalizzare la visualizzazione della valuta così come dei numeri. Per scegliere il formato desiderato è sufficiente dal pannello di controllo accedere all' "Orologio e opzioni internazionali"  e quindi selezionare "Paese e lingua". Nelle "Impostazioni aggiuntive" di "Paese e lingua" è possibile modificare il formato di visualizzazione dei numeri, della valuta, dell'ora e della data.

Nulla di più semplice ma occorre saperlo ...

 

Ordinamento di una DataTable

Capita spesso di dover ordinare una DataTable; ecco una semplice procedura:
Dim dt As DataTable = ....
dt.DefaultView.Sort = "nome_colonna ASC"
Dim dsSorted As DataSet = New DataSet()
dsSorted.Tables.Add(dt.DefaultView.ToTable())
dt = dsSorted.Tables(0)

SlideCake by flepstudio

Ho avuto la fortuna di lavorare con Filippo Lughi (flepstudio) sul debugging di slidecake (www.slidecake.com) un fantastico controllo flash.
Ci siamo accorti che SWFobject aveva un problema con Internet Explorer 6+.
In pratica, la prima volta che l’swf veniva caricato andava tutto a buon fine. Ma, al refresh della stessa pagina, l’swf perdeva totalmente le coordinate dello stage, cioè gli oggetti si disponevano tutti a coordinate 0,0.
Dopo vari tentativi, siamo giunti finalmente alla soluzione:
basta passare un valore random all’swf ogni volta che viene caricato, in questo modo IE non mette in cache l’swf.
Abbiamo usato una semplice funzione Javascript:
<body>
    <div align="center" id="content">
        <script type="text/javascript">
    // <![CDATA[
        var so = new SWFObject('main.swf?cahcebuster='+ escape((new Date()).getTime()), 'main', '270', '390', '10', '#FFFFFF');
        so.useExpressInstall('swfobject/expressinstall.swf');
        so.addParam('menu', 'false');
        so.addParam('allowfullscreen', 'true');
        so.write('content');
    // ]]>
    </script>
    </div>
</body>
In particolare abbiamo concatenato una stringa variabile al nome del file swf, main.swf,
 
'main.swf?cahcebuster='+ escape((new Date()).getTime())
forzando così il broswer a non utilizzare l'swf nella cache.