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