September 2005 Blog Posts


HttpWebRequest, IIS e Credenziali di accesso...

Nel progetto che sto realizzando (un progetto WinForms .NET) in sede di test ho riscontrato un problema, e cioè che il download di un file via http hostato da IIS non funziona se IIS non è configurato per l'accesso anonimo. Il codice originario usato da me era: try{    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(stringRequest);    webRequest.Credentials = CredentialCache.DefaultCredentials; // Diritti di accesso di default    webRequest.Proxy = WebProxy.GetDefaultProxy(); // Proxy di default    using(HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse())    {        using(Stream instream = webResponse.GetResponseStream())        {            // Download del file        }    }}catch(WebException ex){    Debug.WriteLine(ex.ToString();}catch(Exception ex){    Debug.WriteLine(ex.ToString();}  La cosa insidiosa è che questo codice non genera alcuna eccezione: semplicemente il file viene creato ma ha grandezza 0k. Cercando nella documentazione MSDN ho trovato come configurare l'oggetto Credentials di WebRequest usando un CredentialCache customizzato; il codice di esempio preso dalla documentazione MSDN continua però a dare lo stesso problema: CredentialCache credentials = new CredentialCache();NetworkCredential nc = new NetworkCredential("username", "password");credentials.Add(new Uri("http://localhost/"), "Basic", nc);credentials.Add(new Uri("http://localhost/"), "Digest", nc);webRequest.Credentials = credentials;  Ho risolto modificando il codice precedente...

Ajax.NET Visual Studio .NET 2005 Installer

Qui trovate un template per VS2005 per realizzazione di progetti AJAX con AJAX.NET. Appena avrò tempo di  provarlo posterò qualche impressione... Fonte: Ajax.NET Visual Studio .NET 2005 Installer   powered by IMHO 1.2

Perchè Microsoft no e Google si?

Oggi ho poca voglia di lavorare: non mi succede spesso (fortunatamente direbbero i miei "capi"), ma quando succede mi capita di approfondire alcune cose... Oggi mi sono messo a pensare che da tempo sto cercando di dirottare le mie mail e i miei contatti personali sul mio account gmail, xchè è comodo da usare anche da casa col 56k e ho tutta la mia posta disponibile da qualsiasi pc, con in + l'antispam. Ho da poco smesso da usare outlook per i newsgroup e sto usando google groups sempre per lo stesso motivo, e immagino che tra poco smetterò di usare RssBandit come news...

[OT] Macromedia Studio 8 trials disponibili

Macromedia Studio 8 is now shipping and you can alco download trials to evaluate the softwares : Download Studio 8 trialDownload Flash 8 trialDownload Dreamweaver 8 trialDownload Fireworks 8 trial Fonte: Marco Casario,hands on Macromedia world: Studio 8 trials now available and tons of DevNet tutorials on Flash 8   powered by IMHO 1.2

[MCAD] Seguendo il corso di Igor...

Stamattina ho un pò di tempo libero e mi sono messo finalmente a leggere con molto interesse il corso MCAD del grande Igor Damiani  Arrivato alla lezione 8 in cui si parla di validazione ed OOP (in realtà è la lezione 9, ma una si è persa per strada...), posto la mia implementazione del codice che Igor ha suggerito finora, rigorosamente 2.0 (notate il partial) ma i concetti sono quelli. Guardate i commenti nel codice... Classe WindwsForm: public partial class MainForm : Form{    // Istanza di age, contiene la validazione    private Age age = null;    public MainForm()    {        InitializeComponent();    }    private void button1_Click(object sender, EventArgs e)    {                    // Mostra il calcolo dell'età        // Non può mai essere null (?) perchè viene costruita nell'evento validate        MessageBox.Show(age.CalculateAge().ToString());    }    private void textBox1_Validating(object sender, CancelEventArgs e)    {              // La validazione è tutta dentro Age...        try        {            age = new Age(new DateTime(Convert.ToInt32(yearTextBox.Text), 1, 1));            errorProvider.SetError(yearTextBox, String.Empty);        }        catch (Exception ex)        {            errorProvider.SetError(yearTextBox, ex.Message);            e.Cancel = true;        }    }} La "famosa" classe Age che separa la logica dalla vestizione... public class Age{    // Mi piace di + questa sintassi rispetto a _birthDate... che ne pensate?    private DateTime birthDate;    public DateTime BirthDate    {        get        {            return birthDate;        }        set        {            birthDate = value;        }    }            public Age(DateTime birthDate)    {        // Valido solo la correttezza dell'età inserita,        // "throwando" (!!!) una apposita eccezione...        // anche se validare nel costruttore non mi sembra il massimo:        // Preferirei nella property get di BirthDate, ma concettualmente        // aAge non è una classe valida se inserisco una dat anon corretta...        if (birthDate.Year < 1880 || birthDate.Year > DateTime.Now.Year)            throw new TooOldException();         // In realtà potrebbe ancora non essere nato,        // ma il concetto è quello...        this.birthDate = birthDate;    }    // getAge è la sintassi del java...    public int CalculateAge()    {        // Quelli del VB6 sono abituati a fare sempre tre righe quando se ne possono fare una:        // int age    (Dim age ..)        // age = System.DateTime.Now.Year - BirthDate.Year;    (Set age...)        // return age        // Oh, senza offesa eh :)))        return System.DateTime.Now.Year - BirthDate.Year;    }} L'eccezione: public class TooOldException : ApplicationException{    // Semplice eccesione senza bisogno di spiegazioni...    public TooOldException()  : base("Sei un pò troppo vecchio...") { }} Ogni commento è gradito... basta che non mi infamate se ho scritto castronerie   powered by IMHO 1.2

AJAX-Style Web Development Using ASP.NET

Un interessante articolo su AJAX in generale e AJAX.NET in particolare. Lo trovate qui. Già che ci sono segnalo anche questo articolo, per chi non segue Balena e il suo blog... powered by IMHO 1.2

[OT]: GPSMobile for J2ME

GPSMobile is a java library providing access to GPS devices from mobile devices like PDAs or mobile phones. It uses J2ME Personal Profile (JSR 062) specification. The core of the library uses GPSTool package from Dinopolis. A demo application is provided. Fonte: SourceForge.net: Project Info - GPSMobile   powered by IMHO 1.2

[OT]: Katrina e l'effetto serra

Jeremy Rifkin, Bush non vuole dire la verità "Vergognoso l'intervento di Bush" di ieri di fronte alle tv mentre parlava dei danni dell'uragano Katrina: "sembrava un addetto alla logistica quando ha elencato quante bottiglie hanno distribuito. Ma non ha detto ci che avrebbe dovuto dire, perch successo tutto ci, che non stato l'uragano a provocare il disastro ma l'effetto serra". E' il parere di Jeremy Rifkin, l'economista americano presidente della Foundantion on economic trends. "E' stato - ha aggiunto - l'intervento peggiore di un presidente americano di fronte ad una tragedia. Non ha detto ci...

[OT]: 10 anni di ebay

Che dire... auguri! Qualche estratto dall'articolo linkato sotto: Grazie a eBay "135 milioni di persone hanno imparato che si possono fidare di un perfetto sconosciuto", ha detto Omidyar. "Il che ha un incredibile impatto sociale: le persone hanno molto pi in comune di quanto pensino". Si è visto di recente in offerta, tra l'altro: un tempio tibetano, un ago da pagliaio, un campione di urina pulita per ingannare il test antidoping (!!!), un caffè con Alex Zanardi, un fidanzato per un intero pomeriggio (sesso escluso). Fonte: Repubblica.it » scienza_e_tecnologia » Internet, buon compleanno eBay dieci anni di aste e piccole follie powered by IMHO 1.2