<?xml version="1.0" encoding="iso-8859-15"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Il lato oscuro - Il blog di Alessandro Catorcini</title><link>http://blogs.aspitalia.com/ale/</link><description>Il lato oscuro - Il blog di Alessandro Catorcini</description><dc:language>it-it</dc:language><managingEditor>noreply(at)aspitalia.com(Il lato oscuro - Il blog di Alessandro Catorcini)</managingEditor><webMaster>daniele(at)aspitalia.com(Daniele Bochicchio)</webMaster><copyright>1998-2008 ASPItalia.com/Il lato oscuro - Il blog di Alessandro Catorcini</copyright><generator>Generated by feed.ASPItalia.com 'Weyoh' 4.8.703</generator><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><sy:updateBase>1998-01-01T12:00+00:00</sy:updateBase><image><title>Il lato oscuro - Il blog di Alessandro Catorcini</title><url>http://blogs.aspitalia.com/blogs.gif</url><link>http://blogs.aspitalia.com/ale/</link></image><item><title>Trovare il Page not Found...</title><link>http://blogs.aspitalia.com/ale/post2294/Trovare-Page-Not-Found.aspx</link><pubDate>Wed, 04 Jun 2008 06:28:00 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2294' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Alzi la mano chi non detesta la classica pagina di errore per un HTTP 404 - Page not Found.&lt;/p&gt;&lt;p&gt;La ragione più comune che ho sentito per questa reazione poco entusiastica è che Il messaggio di errore medio passato all'utente è tipicamente inutile: la pagina di errore notifica che si è verificato un problema ma fa poco o niente per correggerlo o per proporre alternative. Si può fare di meglio.&lt;/p&gt;&lt;p&gt;L'ultimo tentativo in ordine di tempo di fare qualcosa per risolvere questo problema è il Web Page Error Toolkit che abbiamo rilasciato oggi.&lt;/p&gt;&lt;p&gt;E' una piccola applicazione, altamente customizzabile e rilasciata in Shared Source che consente di sostituire la pagina statica di errore con una pagina completamente controllata dal sito che la ospita che contiene i risultati di una query a Live Search. &lt;/p&gt;&lt;p&gt;Usarla, cambia la solita pagina di errore di IIS&lt;/p&gt;&lt;p&gt;&lt;img alt="Pagina di errore di default di IIS" hspace="0" src="http://ecrn1g.blu.livefilestore.com/y1p1mK3Vjy2zbZ39O5zSg08NBFKRfenPGWJWBJaaP7jRqTqOKLg1sHt3X72iW6_NQMfviPY_oxLRRl-a7U0det4ZA/IE404errormsg.gif" align="baseline" border="0" /&gt;&lt;/p&gt;&lt;p&gt;In una pagina molto più utile:&lt;/p&gt;&lt;p&gt;&lt;img alt="Pagina di errore usando il Web Page Error Toolkit" hspace="0" src="http://ecrn1g.blu.livefilestore.com/y1p1mK3Vjy2zbZCowcnkGk8xn3wT8kB9xZU25mjQ-f-Ii8DgiwZORc8qKxv7s2keaSISjwUTky639p6LlCn3vvxQg/Webpageerrortoolkit.gif" align="baseline" border="0" /&gt;&lt;/p&gt;&lt;p&gt;Dove cercare i risultati (quali domini), quanti risultati mostrare, che lingua utilizzare, se usare o no il correttore ortografico per suggerire alternative, quali messaggi mostrare, sono tutti parametri sotto il controllo totale del webmaster.&lt;/p&gt;&lt;p&gt;La query iniziale è settata da un oggetto che implementa IKeywordExtractor. Il toolkit ne contiene tre esempi, in cui il default usa il contenuto del tag &amp;lt;a&amp;gt; che mandava all'URL fallato. Per esempio, se una pagina conteneva il frammento&lt;/p&gt;&lt;p&gt;&amp;lt;a href=&amp;quot;linkRotto.html&amp;quot;&amp;gt;Esempio di pagina di errore intelligente&amp;lt;/a&amp;gt;&lt;/p&gt;&lt;p /&gt;&lt;p&gt;Il keyword extractor di default usa come query iniziale &amp;quot;esempio di pagina di errore intelligente&amp;quot;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Per ora abbiamo rilasciato il codice in ASP.net 2.0 o superiore e IIS 5 o superiore. Presto usciranno le versioni in PHP e Java.&lt;/p&gt;&lt;p&gt; A presto&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework/" rel="tag"&gt;.NET Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_2.0/" rel="tag"&gt;.NET Framework 2.0&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_2.0/" rel="tag"&gt;ASP.NET 2.0&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_3.5/" rel="tag"&gt;ASP.NET 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/IIS/" rel="tag"&gt;IIS&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Windows_Server/" rel="tag"&gt;Windows Server&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Alessandro Catorcini</dc:creator><category>Misc, .NET Framework, .NET Framework 2.0, ASP.NET, ASP.NET 2.0, ASP.NET 3.5, IIS, Windows Server</category><guid isPermaLink="true">http://blogs.aspitalia.com/ale/post2294/Trovare-Page-Not-Found.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/ale/post2294/Trovare-Page-Not-Found.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/ale/CommentRSS2294.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2294</trackback:ping></item><item><title>Come scrivere in ASP.net un controllo che usa Silverlight solo se &amp;#232; gi&amp;#224; sul client</title><link>http://blogs.aspitalia.com/ale/post2287/Scrivere-ASP.net-Controllo-Usa-Silverlight-Gia-Client.aspx</link><pubDate>Sat, 17 May 2008 10:50:00 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2287' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;L'introduzione di Silverlight ha aperto la porta a design per le UI prima completamente impensabili. Il problema è che non tutti hanno Silverlight, e non tutti vogliono o possono installarla per vedere la tua pagina.&lt;/p&gt;&lt;p&gt;Il problema che dovevo risolvere è &amp;quot;Come si fa a scrivere un controllo in ASP.net che sappia disegnarsi con Silverlight se è installata e abilitata ma che diventi caro vecchio HTML (magari con un po' di AJAX per essere alla moda) se non la trova.&lt;/p&gt;&lt;p&gt;La soluzione è talmente banale da non essere nemmeno divertente.&lt;/p&gt;&lt;p&gt;Tra i vari modi di chiamare Silverlight dentro il browser, il più prosaico è il caro, vecchio Object tag. &lt;/p&gt;&lt;p&gt;Ora, andando a spulciare tra le specifiche dell'HTML, si scopre che se un object tag contiene HTML, questo viene usato nel caso che ci sia un errore nell'istanziare l'oggetto, altrimenti viene ignorato.&lt;/p&gt;&lt;p&gt;Questo vuol dire che se si seguono i seguenti passi:&lt;/p&gt;&lt;p&gt;creare il file XAML o XBAP e aggiungerlo al progetto rinominandolo .slight (per esempio) e assicurarsi che questo file sia compilato come una risorsa dell'assebly del controllo. Questo fa si' che l'applicazione Silverlight sia distribuita insieme ai binari del custom control.&lt;/p&gt;&lt;p&gt;Nel metodo Render(ByVal writer As System.Web.UI.HtmlTextWriter) del controllo polimorfico, aggiungere&lt;/p&gt;&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;p&gt;With(writer)&lt;br /&gt;.AddAttribute(&amp;quot;ID&amp;quot;, &amp;quot;SilverlightPlugInID&amp;quot;)&lt;br /&gt;.AddAttribute(&amp;quot;Data&amp;quot;, &amp;quot;data:application/x-silverlight,&amp;quot;)&lt;br /&gt;.AddAttribute(&amp;quot;Type&amp;quot;, &amp;quot;application/x-silverlight&amp;quot;)&lt;br /&gt;.AddAttribute(&amp;quot;width&amp;quot;, &amp;quot;1000px&amp;quot;)&lt;br /&gt;.AddAttribute(&amp;quot;height&amp;quot;, &amp;quot;500px&amp;quot;)&lt;br /&gt;.RenderBeginTag(&amp;quot;object&amp;quot;)&lt;br /&gt;.AddAttribute(&amp;quot;name&amp;quot;, &amp;quot;source&amp;quot;)&lt;br /&gt;.AddAttribute(&amp;quot;value&amp;quot;, Page.ClientScript.GetWebResourceUrl(Me.GetType(), &amp;quot;NomeDelMioAssembly.NomeDelMioFileXAMLoXBAP.slight&amp;quot;))&lt;br /&gt;.RenderBeginTag(&amp;quot;param&amp;quot;)&lt;br /&gt;.RenderEndTag() 'param&lt;br /&gt;.AddAttribute(&amp;quot;name&amp;quot;, &amp;quot;onError&amp;quot;)&lt;br /&gt;.AddAttribute(&amp;quot;value&amp;quot;, &amp;quot;onErrorHandler&amp;quot;)&lt;br /&gt;.RenderBeginTag(&amp;quot;param&amp;quot;)&lt;br /&gt;.RenderEndTag() 'param&lt;br /&gt;.AddAttribute(&amp;quot;name&amp;quot;, &amp;quot;onResize&amp;quot;)&lt;br /&gt;.AddAttribute(&amp;quot;value&amp;quot;, &amp;quot;onResizeHandler&amp;quot;)&lt;br /&gt;.RenderBeginTag(&amp;quot;param&amp;quot;)&lt;br /&gt;.RenderEndTag() 'param&lt;/p&gt;&lt;p&gt;&amp;lt; Genera qui l'HTML downlevel &amp;gt; &lt;/p&gt;&lt;p&gt;.RenderEndTag() 'object&lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;End With&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Se si usa Silverlight 1.0, lo script che costituisce l'applicazione Silverlight viene iniettato in uno script block. In questo caso, lo scambio dei dati tra ASP.net e Silverlight può avvenire scrivendo in un tag script gli oggetti JSON che saranno consumati dall'applicazione. &lt;/p&gt;&lt;p&gt;Se si usa Silverlight 2.0, si può scrivere una data island e usare l'HTML bridge.&lt;/p&gt;&lt;p&gt;Questa soluzione funziona con Internet Explorer 7 e 8 beta e con Firefox 2.0 e Safari su Windows.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Silverlight/" rel="tag"&gt;Silverlight&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/XAML/" rel="tag"&gt;XAML&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Alessandro Catorcini</dc:creator><category>Misc, Silverlight, XAML</category><guid isPermaLink="true">http://blogs.aspitalia.com/ale/post2287/Scrivere-ASP.net-Controllo-Usa-Silverlight-Gia-Client.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/ale/post2287/Scrivere-ASP.net-Controllo-Usa-Silverlight-Gia-Client.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/ale/CommentRSS2287.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2287</trackback:ping></item><item><title>Legionari dell'Impero</title><link>http://blogs.aspitalia.com/ale/post2271/Legionari-Impero.aspx</link><pubDate>Sat, 19 Apr 2008 19:52:00 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2271' border="0" style="width:1px; height:1px;" /&gt;Ogni volta che interagisco con qualcuno dall'Italia, una delle domande che prima o poi arrivano è la classica &amp;quot;Ma come ci sei finito a Redmond?&amp;quot;, come se per essere qui dovessi avere tre gambe e due teste. Con questo post vorrei sfatare un mito e lanciare una piccola sfida. Lavorare in un product development team in Microsfot a Redmond non è fuori portata. Ma come per vincere alla lotteria, il primo passo è comprare il biglietto, per venire qui bisogna innanzitutto chiederlo. Sul sito di &lt;a href="http://www.microsoft.com/careers"&gt;Microsoft Careers&lt;/a&gt;  si possono vedere le migliaia di posizioni aperte in tutto il mondo. Quando lo feci io (nel secolo scorso ormai, il lontano 1999) il mio CV partì proprio dai form di questo sito. Soltanto nel mio gruppo (&lt;a href="http://www.live.com"&gt;Live Search&lt;/a&gt;) stiamo cercando &lt;a href="http://members.microsoft.com/careers/search/results.aspx?start=1&amp;amp;interval=89&amp;amp;AllCl=Y&amp;amp;SortCol=DatePosted&amp;amp;SortOrder=DEF"&gt;più di cento&lt;/a&gt; tra developer e developer in test. Siamo a caccia da mesi di developer per l'ottimizzazione della rilevanza per le pagine web in Italiano, che tra gli altri requisiti devono essere fluenti o madrelingua in Italiano. Se avete passione per la tecnologia e se siete disposti a venire fin qui per seguirla, provate. Nel caso abbiate domande, contattatemi direttamente (il mio email personale è {nome}@{cognome}.com dove a nome e cognome dovete sostituire i valori [:)] ) &lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Alessandro Catorcini</dc:creator><category>Misc</category><guid isPermaLink="true">http://blogs.aspitalia.com/ale/post2271/Legionari-Impero.aspx</guid><slash:comments>1</slash:comments><wfw:comments>http://blogs.aspitalia.com/ale/post2271/Legionari-Impero.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/ale/CommentRSS2271.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2271</trackback:ping></item><item><title>Pizza, topologia e web services</title><link>http://blogs.aspitalia.com/ale/post2269/Pizza-Topologia-Web-Services.aspx</link><pubDate>Thu, 17 Apr 2008 06:33:00 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2269' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Oggi sono finalmente riuscito a vedere di persona tutta la truppa di ASPItalia &amp;amp;c. qui sotto la pioggia di Seattle dopo quasi tre anni (dal lancio di VS 2005).&lt;/p&gt;&lt;p&gt;La più che dignitosa pizza di Guido, la cameriera dalla scollatura generosa ma discreta, le profonde discussioni tecnico-goliardiche su argomenti vari, dalla topologia alle strategie di typing e verioning sui Web Services hanno reso l'incontro strepitoso.&lt;/p&gt;&lt;p&gt;Arrivederci a presto&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Off_Topic/" rel="tag"&gt;Off Topic&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Alessandro Catorcini</dc:creator><category>Misc, Off Topic</category><guid isPermaLink="true">http://blogs.aspitalia.com/ale/post2269/Pizza-Topologia-Web-Services.aspx</guid><slash:comments>4</slash:comments><wfw:comments>http://blogs.aspitalia.com/ale/post2269/Pizza-Topologia-Web-Services.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/ale/CommentRSS2269.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2269</trackback:ping></item></channel></rss>