<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Il blog di TixXio &#187; ASP.Net</title>
	<atom:link href="http://michelangelo.rinelli.it/index.php/category/programmazione/aspnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://michelangelo.rinelli.it</link>
	<description>Un blog impossibile o privo di significato</description>
	<lastBuildDate>Wed, 01 Feb 2012 08:45:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Disponibile la Beta 2 del framework .NET 4 su Windows Update</title>
		<link>http://michelangelo.rinelli.it/index.php/2010/01/20/disponibile-la-beta-2-del-framework-net-4-su-windows-update/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2010/01/20/disponibile-la-beta-2-del-framework-net-4-su-windows-update/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 22:55:29 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[windows update]]></category>

		<guid isPermaLink="false">http://michelangelo.rinelli.it/?p=324</guid>
		<description><![CDATA[La nuova versione del framework .NET (la quattro, per intenderci) è in beta testing pubblico, disponibile per il download: per chi lo desiderasse è possibile scaricare la beta 2 del nuovo framework direttamente da Windows Update. Per abilitare l'aggiornamento è sufficiente aggiunge un'apposita chiave di registro eseguendo questo comando: L'aggiornamento non verrà scaricato, però, se [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://michelangelo.rinelli.it/wp-content/uploads/2010/01/dotnet.png"><img class="alignleft size-full wp-image-329" title="dotnet" src="http://michelangelo.rinelli.it/wp-content/uploads/2010/01/dotnet.png" alt="" width="234" height="150" /></a>La nuova versione del framework .NET (la <strong>quattro</strong>, per intenderci) è in beta testing pubblico, disponibile per il download: per chi lo desiderasse è possibile scaricare la beta 2 del nuovo framework direttamente da <a href="http://windowsupdate.microsoft.com/" target="_blank"><strong>Windows Update</strong></a>. Per abilitare l'aggiornamento è sufficiente aggiunge un'apposita <strong>chiave di registro</strong> eseguendo questo comando:</p>
<pre class="brush: plain; title: ; notranslate">reg.exe add &quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4B2WU&quot; /v OptIn /t REG_DWORD /d 1 /f</pre>
<p>L'aggiornamento non verrà scaricato, però, se avete già altre versioni beta del framework 4 installate sulla vostra macchina.<br />
<span id="more-324"></span><br />
<strong>Link: <a href="http://blogs.msdn.com/drnick/archive/2010/01/18/test-net-4-beta-2-over-windows-update.aspx">Fonte</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2010/01/20/disponibile-la-beta-2-del-framework-net-4-su-windows-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design Patterns in ASP.NET</title>
		<link>http://michelangelo.rinelli.it/index.php/2008/11/26/design-patterns-in-aspnet/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2008/11/26/design-patterns-in-aspnet/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 08:33:07 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Web Develop]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[design pattern]]></category>

		<guid isPermaLink="false">http://michelangelo.rinelli.it/?p=176</guid>
		<description><![CDATA[Riporto un interessante articolo sull'utilizzo dei design pattern in ASP.NET. L'autore presenta alcuni dei pattern che ritiene più utili nello sviluppo di applicazioni in ASP.NET e quindi ne presenta degli esempi di utilizzo. I diversi pattern sono raggruppati e presentati al lettore secondo questa tassonomia: Presentation Logic Model-View-Controller (MVC) Model-View-Presenter (MVP) Use Case Controller Host [...]]]></description>
			<content:encoded><![CDATA[<p>Riporto un interessante articolo sull'utilizzo dei design pattern in ASP.NET. L'<a href="http://www.developerfusion.com/profile/alexhomer/">autore</a> presenta alcuni dei pattern che ritiene più utili nello sviluppo di applicazioni in ASP.NET e quindi ne presenta degli <a href="http://www.developerfusion.com/article/8307/aspnet-patterns-every-developer-should-know/2/">esempi di utilizzo</a>.</p>
<p>I diversi pattern sono raggruppati e presentati al lettore secondo questa tassonomia:</p>
<ul>
<blockquote>
<li>Presentation Logic
<ul>
<li>Model-View-Controller (MVC)</li>
<li>Model-View-Presenter (MVP)</li>
<li>Use Case Controller</li>
</ul>
</li>
<li>Host or Behavioral
<ul>
<li>Command</li>
<li>Publish-Subscribe / Observer</li>
<li>Plug-in / Module / Intercepting Filter</li>
</ul>
</li>
<li>Structural
<ul>
<li>Service Agent / Proxy / Broker</li>
<li>Provider / Adapter</li>
</ul>
</li>
<li>Creational
<ul>
<li>Factory / Builder / Injection</li>
<li>Singleton</li>
</ul>
</li>
<li>Persistence</li>
<li>Repository</li>
</blockquote>
</ul>
<p>Sono certo che potrete trovare anche voi queste due pagine interessanti. Buona lettura!</p>
<p><strong>Link: <a href=" http://www.developerfusion.com/article/8307/aspnet-patterns-every-developer-should-know/ ">ASP.NET Patterns every developer should know</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2008/11/26/design-patterns-in-aspnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rispondere con 404 in ASP.NET</title>
		<link>http://michelangelo.rinelli.it/index.php/2008/11/21/rispondere-con-404-in-aspnet/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2008/11/21/rispondere-con-404-in-aspnet/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 09:22:17 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Web Develop]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[asp.net]]></category>

		<guid isPermaLink="false">http://michelangelo.rinelli.it/?p=180</guid>
		<description><![CDATA[In Tizio&#38;Caio ci sono diversi tipi di risorse che vengono realizzate e pubblicate per gli utenti sul sito: molte di queste, per assicurarne la qualità, richiedono di essere validate da un altro membro dello staff diverso dal creatore. Durante questa fase la risorsa è realmente esistente all'URL in cui si troverà, ma la sua visualizzazione [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://michelangelo.rinelli.it/wp-content/uploads/2008/11/error.jpg"><img class="alignleft" style="margin-left: 3px; margin-right: 3px; float: left;" title="404 error" src="http://michelangelo.rinelli.it/wp-content/uploads/2008/11/error.jpg" alt="" width="172" height="137" /></a>In <a href="http://www.tizioandcaio.com/">Tizio&amp;Caio</a> ci sono diversi tipi di risorse che vengono realizzate e pubblicate per gli utenti sul sito: molte di queste, per assicurarne la qualità, richiedono di essere <strong>validate da un altro membro dello staff</strong> diverso dal creatore.</p>
<p>Durante questa fase la risorsa è realmente esistente all'<a href="http://it.wikipedia.org/wiki/Uniform_Resource_Locator">URL</a> in cui si troverà, ma la sua visualizzazione è <strong>limitata al solo staff</strong>, per le ragioni che ho spiegato prima. Per evitare che qualche utente malizioso possa andare alla ricerca di queste risorse facciamo in modo che, se il visitatore manca delle necessarie autorizzazioni non visualizzi un generico errore di accesso, ma <strong>un bel 404</strong>.</p>
<p>Fortunatamente non c'è alcun bisogno di andare a smanettare con la sezione customErrors del web.config, è sufficiente generare una <a href="http://msdn.microsoft.com/en-us/library/system.web.httpexception.aspx">HttpException</a>:</p>
<div style="font-family: Courier New; font-size: 10pt; color: #000000;">
<p style="margin: 0px; padding-left: 30px;"><span style="color: #0000ff;"> throw</span> <span style="color: #0000ff;">new</span> HttpException(404, "Page not found");</p>
</div>
<p>Il runtime di ASP.NET rileverà l'eccezione e si occuperà del redirect alla opportuna pagina per l'<a href="http://en.wikipedia.org/wiki/404_error">errore 404</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2008/11/21/rispondere-con-404-in-aspnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# vs. Ruby</title>
		<link>http://michelangelo.rinelli.it/index.php/2008/09/20/c-sharp-vs-ruby/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2008/09/20/c-sharp-vs-ruby/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 09:48:01 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://michelangelo.rinelli.it/?p=166</guid>
		<description><![CDATA[Google Trends (per chi ha tempo di giochicchiarci un pò) può offrire degli interessanti spunti di riflessione... Io mi sono fatto l'idea che c# è un linguaggio per lavorare, mentre ruby è ancora un qualcosa da smanettoni... Qui la fonte ed altre interessanti opinioni.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.google.com/trends">Google Trends</a> (per chi ha tempo di giochicchiarci un pò) può offrire degli interessanti <a href="http://www.google.com/trends?q=C%23%2C+ruby&amp;ctab=0&amp;geo=all&amp;date=mtd&amp;sort=1">spunti di riflessione</a>...</p>
<p><img class="alignnone" src="http://codeclimber.net.nz/images/codeclimber_net_nz/WindowsLiveWriter/CvsRuby_144A3/viz_2.png" alt="C# vs Ruby" /></p>
<p>Io mi sono fatto l'idea che c# è un linguaggio per <strong>lavorare</strong>, mentre ruby è ancora un qualcosa da <strong>smanettoni</strong>... <a href="http://codeclimber.net.nz/archive/2008/09/16/c-vs-ruby.aspx">Qui</a> la fonte ed altre interessanti opinioni.</p>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2008/09/20/c-sharp-vs-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attributo DebuggerBrowseable in VS</title>
		<link>http://michelangelo.rinelli.it/index.php/2007/12/23/attributo-debuggerbrowseable-in-vs/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2007/12/23/attributo-debuggerbrowseable-in-vs/#comments</comments>
		<pubDate>Sun, 23 Dec 2007 16:35:46 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[I consigli di TixXio]]></category>
		<category><![CDATA[VS2005]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://tixxio.wordpress.com/2007/12/23/attributo-debuggerbrowseable-in-vs/</guid>
		<description><![CDATA[Le tue classi sono piene di metodi la cui visualizzazione in fase di debugging è praticamente inutile? L'attributo DebuggerBrowsable ti permetterà di scegliere come visualizzare i membri della tua classe nella vista di Debug. Di seguito un rapido esempio di utilizzo: Per i dettagli date uno sguardo su MSDN]]></description>
			<content:encoded><![CDATA[<p>Le tue classi sono piene di metodi la cui <b>visualizzazione in fase di debugging</b> è praticamente inutile? L'attributo <b>DebuggerBrowsable</b> ti permetterà di scegliere come visualizzare i membri della tua classe nella vista di Debug.</p>
<p>Di seguito un rapido esempio di utilizzo:</p>
<pre class="brush: vb; title: ; notranslate">&lt;debuggerBrowsable(DebuggerBrowsableState.Never)&gt; _
Public Shared Function getGroup(ByVal idGroup As String) As SlotGroup</pre>
<p>Per i dettagli date <a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.debuggerbrowsableattribute.aspx">uno sguardo su MSDN</a></p>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2007/12/23/attributo-debuggerbrowseable-in-vs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pagina generata in X secondi</title>
		<link>http://michelangelo.rinelli.it/index.php/2007/11/21/pagina-generata-in-x-secondi/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2007/11/21/pagina-generata-in-x-secondi/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 12:26:03 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[I consigli di TixXio]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[profiling]]></category>
		<category><![CDATA[tizioandcaio]]></category>

		<guid isPermaLink="false">http://tixxio.wordpress.com/2007/11/21/pagina-generata-in-x-secondi/</guid>
		<description><![CDATA[Qual'è il metodo migliore per indicare ai nostri visitatori quanto siamo bravi a programmare, scrivendo in fondo alle nostre paginette aspx il tempo in cui queste vengono generate? L'idea migliore, più precisa ed efficiente, è quella di affidarsi a System.Diagnostics.Stopwatch: se lo avete già realizzato, usando però il "classico" DateTime e qualche sottrazione per ottenere [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://tixxio.wordpress.com/files/2007/11/clock.png" alt="clock.png" align="left" height="128" hspace="3" width="128" />Qual'è il metodo migliore per indicare ai nostri visitatori <strong>quanto siamo bravi a programmare</strong>, scrivendo in fondo alle nostre paginette <em>aspx</em> il tempo in cui queste vengono generate?</p>
<p>L'idea migliore, più precisa ed <strong>efficiente</strong>, è quella di affidarsi a <a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx">System.Diagnostics.Stopwatch</a>: se lo avete già realizzato, usando però il "classico" <em>DateTime</em> e qualche sottrazione per ottenere un <em>TimeSpan</em>, sarebbe il caso che provvediate a rimpiazzare tutto il vostro accrocchio.</p>
<p>Stopwatch infatti è realizzata usando chiamate ad <strong>API di basso livello</strong>, con un overhead decisamente minore rispetto a qualsiasi metodo di .NET. Inoltre se la vostra configurazione hardware e software lo permette, potrete usufruire di un contatore ad alta precisione.</p>
<p style="background:white none repeat scroll 0 50%;font-family:Consolas;font-size:10pt;color:black;">&nbsp;</p>
<blockquote>
<p style="margin:0;">dim watch as <span style="color:blue;">new</span> System.Diagnostics.<span style="color:#2b91af;">Stopwatch</span>()</p>
<p style="margin:0;">watch.Start()</p>
<p style="margin:0;">&nbsp;</p>
<p style="margin:0;"><span style="color:green;"> </span></p>
<p style="margin:0;"> [...]</p>
<p style="margin:0;">&nbsp;</p>
<p style="margin:0;"> watch.Stop()</p>
<p style="margin:0;"> literal.Text = <span style="color:#a31515;">"Pagina generata in "</span> + watch.Elapsed.ToString() +<span style="color:#a31515;"> " secondi"</span></p>
</blockquote>
<p style="margin:0;">Beh, fatemi sapere quanti millisecondi avete recuperato! <img src='http://michelangelo.rinelli.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<blockquote></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2007/11/21/pagina-generata-in-x-secondi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilities.NET</title>
		<link>http://michelangelo.rinelli.it/index.php/2007/10/03/utilitiesnet/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2007/10/03/utilitiesnet/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 08:00:57 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://tixxio.wordpress.com/2007/10/03/utilitiesnet/</guid>
		<description><![CDATA[Utilities.NET è una collezione di classi di aiuto e di componenti per risolvere velocemente le comuni problematiche di programmazione in .NET La libreria contiene 117 classi, ed è frutto del lavoro di James Newtonking, che ha deciso di rilasciarla con tanto di codice sorgente. Io l'ho scaricata e messa sul desktop, appena posso giuro che [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Utilities.NET</strong> è una collezione di classi di aiuto e di componenti per risolvere velocemente le comuni problematiche di programmazione in .NET</p>
<p>La <a href="http://james.newtonking.com/archive/2007/10/02/utilities-net-1-0-released.aspx">libreria</a> contiene <strong>117 classi</strong>, ed è frutto del lavoro di <a href="http://james.newtonking.com/">James Newtonking</a>, che ha deciso di rilasciarla con tanto di codice sorgente.<br />
Io l'ho <a href="http://www.codeplex.com/Utilities/Release/ProjectReleases.aspx">scaricata</a> e messa sul desktop, appena posso giuro che gli do un'occhiata <img src='http://michelangelo.rinelli.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2007/10/03/utilitiesnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrare URL dinamici (T&amp;C: Siamo alla resa dei conti!)</title>
		<link>http://michelangelo.rinelli.it/index.php/2007/09/20/migrare-url-dinamici-tc-siamo-alla-resa-dei-conti/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2007/09/20/migrare-url-dinamici-tc-siamo-alla-resa-dei-conti/#comments</comments>
		<pubDate>Thu, 20 Sep 2007 15:21:11 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[AWStats]]></category>
		<category><![CDATA[T&C]]></category>
		<category><![CDATA[Web Develop]]></category>
		<category><![CDATA[tizioandcaio]]></category>
		<category><![CDATA[url rewriting]]></category>

		<guid isPermaLink="false">http://tixxio.wordpress.com/2007/09/20/migrare-url-dinamici-tc-siamo-alla-resa-dei-conti/</guid>
		<description><![CDATA[Dopo quasi un anno di sviluppo, 153'983 righe di codice nei linguaggi più disparati, test di ogni genere, eccetera eccetera.... finalmente si vedrà se quello per cui ho lavorato funzionerà a dovere. I frutti di tanta fatica già si vedono, avendo imparato ad usare come si deve Asp.NET: dopotutto era quello l'obiettivo con cui mi [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.tizioandcaio.com/photos/show.php?id=4012" align="left" height="128" width="128" />Dopo quasi un anno di sviluppo, <strong>153'983 righe di codice</strong> nei linguaggi più disparati, test di ogni genere, eccetera eccetera.... finalmente si vedrà se <a href="http://tixxio.wordpress.com/2006/11/01/da-asp-classic-a-aspnet-20/">quello per cui ho lavorato</a> funzionerà a dovere. I frutti di tanta fatica già si vedono, avendo imparato ad usare come si deve Asp.NET: dopotutto era quello l'obiettivo con cui mi accingevo a fare questa impresa.</p>
<p>I problemi principali della migrazione potranno essere dati da <strong>AWStats</strong> e dagli URL della <strong>vecchia versione</strong>, che rimangono ancora validi ed indicizzati in tutti i motori di ricerca: in particolare quest'ultima problematica è quella che potrebbe causare più ripercussioni... errori in questo senso <strong>potrebbero mandare a monte anni di indicizzazione dei motori</strong> (al solo pensiero mi vengono i brividi <img src='http://michelangelo.rinelli.it/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' />  )</p>
<p>Ecco come credo di aver risolto il problema:</p>
<p><span id="more-82"></span>Visto che T&amp;C è praticamente costituito per il <strong>95%</strong> da contenuti dinamici, ho dovuto prevedere dei redirect "<em>dinamici</em>", che reindirizzassero alle nuove pagine conservando anche i parametri inviati attraverso l'url.</p>
<p>Ho creato un <strong>modellino generale</strong> di questi redirect, realizzati in ASP Classic, che è fatto così come segue:</p>
<pre class="brush: vb; title: ; notranslate">&amp;lt;%
REDIR_PATH = &quot;nuovapagina.aspx&quot;

if len(request.querystring) &amp;gt; 0 then
response.redirect(REDIR_PATH &amp;amp;amp; &quot;?&quot; &amp;amp;amp; request.querystring)
else
response.redirect(REDIR_PATH)
end if
%&amp;gt;</pre>
<p>Se si ha la cura di <strong>conservare nelle nuove pagine gli stessi parametri delle vecchie</strong>, è sufficiente cambiare la variabile alla prima riga della pagina; i pochi parametri di cui ho cambiato il nome "funzionano" nella nuova versione sia con il vecchio che con il nuovo metodo (ovviamente fintanto che non verranno indicizzate le nuove versioni delle pagine)</p>
<p>Per l'upgrade definitivo oramai è solamente questione di <strong>ore</strong>, un paio di <strong>giorni </strong>al massimo... Iniziate ad incrociare le dita per me <img src='http://michelangelo.rinelli.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2007/09/20/migrare-url-dinamici-tc-siamo-alla-resa-dei-conti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perchè sto iniziando ad apprezzare VB.NET</title>
		<link>http://michelangelo.rinelli.it/index.php/2007/07/11/perche-sto-iniziando-ad-apprezzare-vbnet/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2007/07/11/perche-sto-iniziando-ad-apprezzare-vbnet/#comments</comments>
		<pubDate>Wed, 11 Jul 2007 20:24:51 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[I consigli di TixXio]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[vb.net]]></category>

		<guid isPermaLink="false">http://tixxio.wordpress.com/2007/07/11/perche-sto-iniziando-ad-apprezzare-vbnet/</guid>
		<description><![CDATA[Quando ho deciso che era arrivato il momento di trasformare T&#38;C da un rudimentale accrocchio di file interpretati in qualcosa di più sensato (almeno dal punto di vista della software engineering) passando ad Asp.NET, la prima decisione importante che mi spettava prendere è stata quella del linguaggio da utilizzare. Vista la facilità di portare codice [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://tixxio.wordpress.com/files/2007/07/pc2.jpg" alt="pc2.jpg" align="left" height="259" hspace="4" vspace="4" width="310" />Quando ho deciso che era arrivato il momento di trasformare T&amp;C da un <strong>rudimentale accrocchio di file interpretati</strong> in qualcosa di più sensato (almeno dal punto di vista della <a href="http://it.wikipedia.org/wiki/Ingegneria_del_software">software engineering</a>) passando ad Asp.NET, la prima decisione importante che mi spettava prendere è stata quella del <strong>linguaggio da utilizzare</strong>.</p>
<p>Vista la facilità di portare codice dal VbScript di ASP in VB.NET ho scelto questo linguaggio, nonostante il C# sia evidentemente più elegante e meno prolisso nei costrutti.</p>
<p>C'è poi da dire che il Framework.Net permette la<strong> commistione di linguaggi</strong> (sebbene sia necessario separare i diversi "dialetti" in assembly diversi), quindi in futuro potrei realizzare migrazioni parziali e/o pezzi di sito o librerie interne senza difficoltà in C# con poco lavoro aggiuntivo.</p>
<p>Però ora devo ammettere che le idee <strong>non sono più così nitide e definite</strong>...</p>
<p><span id="more-76"></span><br />
Durante questi mesi ho dovuto però ammettere che VB.NET ha due punti notevoli a suo favore sul C#:</p>
<ul>
<li><strong>Visual Basic.Net non è case-sensitive</strong>: l'<a href="http://it.wikipedia.org/wiki/Interazione_umano-computer">interazione uomo-macchina</a> ci insegna che un dialogo tra una macchina e l'utente deve essere tollerante verso l'errore, la mia opinione è che nonostante i programmatori siano notoriamente più intimi con le macchine dell'utente medio, sia comunque la macchina che si debba adattare al programmatore.<br />
E' frustrante e fa perdere un sacco di tempo correggere maiuscole in minuscole o viceversa: a lungo andare ci si può anche fare l'abitudine (ne ho usati tanti anch'io di linguaggi case sensitive) ma eliminare la problematica riduce senza dubbio il <a href="http://it.wikipedia.org/wiki/Carico_di_lavoro_mentale">carico cognitivo</a> del programmatore, che può quindi concentrarsi maggiormente sul codice che sta scrivendo</li>
<li><strong>I programmi in C# devono essere compilati per controllare se compilano, quelli in VB.NET no</strong>: quando mi son trovato a scrivere in C# la prima cosa che ho notato è che l'ambiente di sviluppo non ti segnala il problema se prima non compili il progetto. La prima cosa che si impara e la <a href="http://www.codinghorror.com/blog/files/Visual%20Studio%20.NET%202005%20Keyboard%20Shortcuts.htm">scorciatoia</a> per compilare, e poi via: un pò di codice e <em>CTRL+SHIFT+B</em>, e via così fino a consumare questi tre tasti sulla tastiera...<br />
VB.NET è in grado invece di dirti in anticipo se qualcosa non va, effettuando una precompilazione in background mentre si scrive il codice.</li>
</ul>
<p>E' la seconda peculiarità che mi fa apprezzare davvero tanto il VB, tanto da farmi pensare di <strong>spostarlo sopra al C#</strong> in cima alla lista dei miei linguaggi preferiti in .NET.</p>
<p>Quelle adorabili righe ondulate azzurre o verdi che ti segnalano quando stai sbagliando qualcosa, stai chiamando un metodo che non esiste, eccetera eccetera... quanto tempo mi han fatto risparmiare!</p>
<p>PS: <a href="http://www.jetbrains.com/resharper/">Resharper</a> risolve questo secondo problema per C#, alla modica cifra di <a href="http://www.jetbrains.com/resharper/buy/index.html#newuser">349USD</a></p>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2007/07/11/perche-sto-iniziando-ad-apprezzare-vbnet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mai più ArrayList</title>
		<link>http://michelangelo.rinelli.it/index.php/2007/04/25/mai-piu-arraylist/</link>
		<comments>http://michelangelo.rinelli.it/index.php/2007/04/25/mai-piu-arraylist/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 20:11:37 +0000</pubDate>
		<dc:creator>Michelangelo Rinelli</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Web Develop]]></category>
		<category><![CDATA[arraylist]]></category>
		<category><![CDATA[asp.net]]></category>

		<guid isPermaLink="false">http://tixxio.wordpress.com/2007/04/25/mai-piu-arraylist/</guid>
		<description><![CDATA[Un'ottima cosa di Asp.NET sono le collection tipizzate: sostituendo l'utilizzo degli ArrayList con queste strutture dati possiamo raggiungere facilmente gli stessi risultati evitando tanti fastidiosi casting. &#160; Per utilizzare queste collection templatizzate è necessiario importare il namespace System.Collections.Generic, che può essere importato automaticamente scrivendo quando segue nel web.config &#160; &#60;configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"&#62;   &#60;system.web&#62;     [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0;">Un'ottima cosa di Asp.NET sono le <strong>collection tipizzate</strong>: sostituendo l'utilizzo degli <strong>ArrayList </strong>con queste strutture dati possiamo raggiungere facilmente gli stessi risultati <strong>evitando tanti fastidiosi casting</strong>.</p>
<p class="MsoNormal" style="margin:0;">&nbsp;</p>
<p class="MsoNormal" style="margin:0;">Per utilizzare queste collection templatizzate è necessiario importare il namespace <strong>System.Collections.Generic</strong>, che può essere importato automaticamente scrivendo quando segue nel <strong>web.config</strong></p>
<p class="MsoNormal" style="margin:0;">&nbsp;</p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';">&lt;</span><span style="color:maroon;font-family:'Courier New';">configuration</span><span style="color:blue;font-family:'Courier New';"> </span><span style="color:red;font-family:'Courier New';">xmlns</span><span style="color:blue;font-family:'Courier New';">=</span><span style="color:blue;font-family:'Courier New';">"<span style="color:blue;">http://schemas.microsoft.com/.NetConfiguration/v2.0</span>"<span>&gt;</span></span></font></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';"> </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  &lt;</span><span style="color:maroon;font-family:'Courier New';">system.web</span><span style="color:blue;font-family:'Courier New';">&gt;</span></font></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';">  </span></font><font size="2"><span style="color:blue;font-family:'Courier New';"> </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  &lt;</span><span style="color:maroon;font-family:'Courier New';">pages</span><span style="color:blue;font-family:'Courier New';">&gt;</span></font></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';">  </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  </span></font><font size="2"><span style="color:blue;font-family:'Courier New';"> </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  &lt;</span><span style="color:maroon;font-family:'Courier New';">namespaces</span><span style="color:blue;font-family:'Courier New';">&gt;</span></font></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';">  </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  </span></font><font size="2"><span style="color:blue;font-family:'Courier New';"> </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  &lt;</span><span style="color:maroon;font-family:'Courier New';">add</span><span style="color:blue;font-family:'Courier New';"> </span><span style="color:red;font-family:'Courier New';">namespace</span><span style="color:blue;font-family:'Courier New';">=</span><span style="color:blue;font-family:'Courier New';">"<span style="color:blue;">System.Collections.Generic</span>"<span> /&gt;</span></span></font></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';">  </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  </span></font><font size="2"><span style="color:blue;font-family:'Courier New';"> </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  &lt;/</span><span style="color:maroon;font-family:'Courier New';">namespaces</span><span style="color:blue;font-family:'Courier New';">&gt;</span></font></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';">  </span></font><font size="2"><span style="color:blue;font-family:'Courier New';"> </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  &lt;/</span><span style="color:maroon;font-family:'Courier New';">pages</span><span style="color:blue;font-family:'Courier New';">&gt;</span></font></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';"><span></span></span></font></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';"> </span></font><font size="2"><span style="color:blue;font-family:'Courier New';">  &lt;</span><span style="color:maroon;font-family:'Courier New';">/system.web</span><span style="color:blue;font-family:'Courier New';">&gt;</span></font></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><font size="2"><span style="color:blue;font-family:'Courier New';"></span><span style="color:blue;font-family:'Courier New';">&lt;/</span><span style="color:maroon;font-family:'Courier New';">configuration</span><span style="color:blue;font-family:'Courier New';">&gt;</span></font></p>
<p class="MsoNormal" style="margin:0;">&nbsp;</p>
<p>L'impaginazione non è delle migliori, causa questo sistema di publishing che devo ancora comprendere a pieno... il concetto però credo sia chiaro, no?</p>
]]></content:encoded>
			<wfw:commentRss>http://michelangelo.rinelli.it/index.php/2007/04/25/mai-piu-arraylist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

