<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>DDL</title>
        <link>http://blogs.ugidotnet.org/ddl/Default.aspx</link>
        <description>Domain-Driven Life</description>
        <language>it-IT</language>
        <copyright>Nazareno</copyright>
        <generator>Subtext Version 2.1.0.3</generator>
        <image>
            <title>DDL</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/ddl/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>[SEMI-OT] How to Shoot Yourself in the Foot in Any Programming Language</title>
            <category>Off Topics</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2012/02/06/semi-ot-how-to-shoot-yourself-in-the-foot-in-any.aspx</link>
            <description>&lt;p&gt;The proliferation of modern programming languages (all of which seem to have stolen countless features from one another) sometimes makes it difficult to remember what language you’re currently using. This guide is offered as a public service to help programmers who find themselves in such dilemmas. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/C_language" target="_blank"&gt;C&lt;/a&gt;&lt;/strong&gt;    &lt;br /&gt;You shoot yourself in the foot.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/C%2B%2B" target="_blank"&gt;C++&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You accidentally create a dozen clones of yourself and shoot them all in the foot. Providing emergency medical assistance is impossible since you can’t tell which are bitwise copies and which are just pointing at others and saying, “That’s me, over there.”     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Java" target="_blank"&gt;JAVA&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;After importing java.awt.right.foot.* and java.awt.gun.right.hand.*, and writing the classes and methods of those classes needed, you’ve forgotten what the hell you’re doing.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Ruby_language" target="_blank"&gt;Ruby&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;Your foot is ready to be shot in roughly five minutes, but you just can’t find anywhere to shoot it.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Php" target="_blank"&gt;PHP&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You shoot yourself in the foot with a gun made with pieces from 300 other guns.     &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/ASP.NET" target="_blank"&gt;&lt;strong&gt;ASP.NET&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Find a gun, it falls apart. Put it back together, it falls apart again. You try using the .GUN Framework, it falls apart. You stab yourself in the foot instead.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Sql" target="_blank"&gt;SQL&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;SELECT @ammo:=bullet FROM gun WHERE trigger = ‘PULLED’;     &lt;br /&gt;INSERT INTO leg (foot) VALUES (@ammo);     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Perl" target="_blank"&gt;Perl&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You shoot yourself in the foot, but nobody can understand how you did it. Six months later, neither can you.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/JavaScript" target="_blank"&gt;Javascript&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You’ve perfected a robust, rich user experience for shooting yourself in the foot. You then find that bullets are disabled on your gun.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Css" target="_blank"&gt;CSS&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You shoot your right foot with one hand, then switch hands to shoot your left foot but you realize that the gun has turned into a banana.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Fortran" target="_blank"&gt;FORTRAN&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You shoot yourself in each toe, iteratively, until you run out of toes, then you read in the next foot and repeat. If you run out of bullets, you continue anyway because you have no exception-handling ability.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Modula2" target="_blank"&gt;Modula2&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;After realizing that you can’t actually accomplish anything in this language, you shoot yourself in the head.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Cobol" target="_blank"&gt;COBOL&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;Using a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN place ARM.HAND.FINGER. on HANDGUN.TRIGGER and SQUEEZE. THEN return HANDGUN to HOLSTER. CHECK whether shoelace needs to be retied.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Lisp" target="_blank"&gt;LISP&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You shoot yourself in the appendage which holds the gun with which     &lt;br /&gt;you shoot yourself in the appendage which holds the gun with which     &lt;br /&gt;you shoot yourself in the appendage which holds the gun with which     &lt;br /&gt;you shoot yourself in the appendage which holds the gun with which     &lt;br /&gt;you shoot yourself in the appendage which holds ….     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/BASIC" target="_blank"&gt;BASIC&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;Shoot yourself in the foot with a water pistol. On big systems, continue until entire lower body is waterlogged.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Forth_%28programming_language%29" target="_blank"&gt;FORTH&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;Foot in yourself shoot.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/APL_%28programming_language%29" target="_blank"&gt;APL&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You shoot yourself in the foot, then spend all day figuring out how to do it in fewer characters.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Pascal_%28programming_language%29" target="_blank"&gt;Pascal&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;The compiler won’t let you shoot yourself in the foot.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Snobol" target="_blank"&gt;SNOBOL&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;If you succeed, shoot yourself in the left foot.     &lt;br /&gt;If you fail, shoot yourself in the right foot.     &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Concurrent_Euclid" target="_blank"&gt;&lt;strong&gt;Concurrent Euclid&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;You shoot yourself in somebody else’s foot.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/HyperTalk" target="_blank"&gt;HyperTalk&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;Put the first bullet of the gun into the foot of the left leg of you.     &lt;br /&gt;Answer the result.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Motif_%28widget_toolkit%29" target="_blank"&gt;Motif&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You spend days writing a UIL description of your foot, the trajectory, the bullet, and the intricate scrollwork on the ivory handles of the gun. When you finally get around to pulling the trigger, the gun jams.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Unix" target="_blank"&gt;Unix&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;% ls     &lt;br /&gt;foot.c foot.h foot.o toe.c toe.o     &lt;br /&gt;% rm * .o     &lt;br /&gt;rm: .o: No such file or directory     &lt;br /&gt;% ls     &lt;br /&gt;%     &lt;br /&gt;&lt;strong&gt;Paradox&lt;/strong&gt;     &lt;br /&gt;Not only can you shoot yourself in the foot, your users can too.     &lt;br /&gt;&lt;strong&gt;Revelation&lt;/strong&gt;     &lt;br /&gt;You’ll be able to shoot yourself in the foot just as soon as you figure out what all these bullets are for.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Visual_basic" target="_blank"&gt;Visual Basic&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You’ll shoot yourself in the foot, but you’ll have so much fun doing it that you won’t care.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Prolog" target="_blank"&gt;Prolog&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You tell your program you want to be shot in the foot. The program figures out how to do it, but the syntax doesn’t allow it to explain.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Ada_%28programming_language%29" target="_blank"&gt;Ada&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;After correctly packaging your foot, you attempt to concurrently load the gun, pull the trigger, scream and shoot yourself in the foot. When you try, however, you discover that your foot is of the wrong type.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Assembly_language" target="_blank"&gt;Assembly&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You try to shoot yourself in the foot only to discover you must first reinvent the gun, the bullet, and your foot. After that’s done, you pull the trigger, the gun beeps several times, then crashes.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Job_Control_Language" target="_blank"&gt;370 JCL&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You send your foot down to MIS with a 4000-page document explaining how you want it to be shot. Three years later, your foot comes back deep-fried.     &lt;br /&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Pyton" target="_blank"&gt;Python&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;You try to shoot yourself in the foot but you just keep hitting the whitespace between your toes.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:88ae5ff1-173b-4012-bf67-3c56fe2b0028" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/Programming+languages" rel="tag"&gt;Programming languages&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Joke" rel="tag"&gt;Joke&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100754.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2012/02/06/semi-ot-how-to-shoot-yourself-in-the-foot-in-any.aspx</guid>
            <pubDate>Mon, 06 Feb 2012 18:33:04 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100754.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2012/02/06/semi-ot-how-to-shoot-yourself-in-the-foot-in-any.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100754.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100754.aspx</trackback:ping>
        </item>
        <item>
            <title>Abilitare applicazioni del Framework 4 a lavorare con IIS6</title>
            <category>.NET</category>
            <category>WCF</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2011/11/22/abilitare-applicazioni-del-framework-4-a-lavorare-con-iis6.aspx</link>
            <description>&lt;p&gt;Se non vi girano i vostri servizi scritti con il .NET Framework 4 sotto IIS6, probabilmente la .NET 4 ASP.NET ISAPI extension è disabilitata.&lt;/p&gt;  &lt;p&gt;Per abilitarla dovete “solo” lanciare il seguente comando:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;cscript iisext.vbs /EnFile C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll&lt;/pre&gt;

&lt;p&gt;Maggiori dettagli, ad esempio, &lt;a href="http://johan.driessen.se/posts/getting-an-asp.net-4-application-to-work-on-iis6" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b234b934-6957-412f-a072-b251b63f1f94" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/IIS6" rel="tag"&gt;IIS6&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.Net+Framework+4" rel="tag"&gt;.Net Framework 4&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100548.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2011/11/22/abilitare-applicazioni-del-framework-4-a-lavorare-con-iis6.aspx</guid>
            <pubDate>Tue, 22 Nov 2011 22:27:55 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100548.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2011/11/22/abilitare-applicazioni-del-framework-4-a-lavorare-con-iis6.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100548.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100548.aspx</trackback:ping>
        </item>
        <item>
            <title>Cambiare &amp;ldquo;Edit Top 200 Rows&amp;rdquo; e &amp;ldquo;Select Top 1000 Rows&amp;rdquo;</title>
            <category>.NET</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2011/10/21/cambiare-ldquoedit-top-200-rowsrdquo-e-ldquoselect-top-1000-rowsrdquo.aspx</link>
            <description>&lt;p&gt;Usando spesso il SQL Server Management Studio, trovo noioso che ogni volta dovevo cambiare la query della select e dell’edit per vedere tutti i record.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Cambiare-Edit-Top-200-Rows-e-Select-Top-_A86F/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Cambiare-Edit-Top-200-Rows-e-Select-Top-_A86F/image_thumb.png" width="187" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ho detto “dovevo cambiare” perché ho scoperto che è una cosa configurabile nelle opzioni su &lt;a href="http://www.ginktage.com/2010/09/sql-server-2008-change-edit-top-200-rows-and-select-top-1000-rows-to-selectedit-all/" target="_blank"&gt;questo post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Basta andare su Tools –&amp;gt; Options –&amp;gt; SQL Server Object Explorer e mettere i valori da voi desiderati.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Cambiare-Edit-Top-200-Rows-e-Select-Top-_A86F/image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Cambiare-Edit-Top-200-Rows-e-Select-Top-_A86F/image_thumb_1.png" width="244" height="144" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Mettendo 0 seleziona sempre tutti i record. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Occhiolino" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Cambiare-Edit-Top-200-Rows-e-Select-Top-_A86F/wlEmoticon-winkingsmile_2.png" /&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:98c78daa-14ae-4d23-ad55-e2f97b5f4a18" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/SQL+Server+Management+Studio" rel="tag"&gt;SQL Server Management Studio&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100464.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2011/10/21/cambiare-ldquoedit-top-200-rowsrdquo-e-ldquoselect-top-1000-rowsrdquo.aspx</guid>
            <pubDate>Fri, 21 Oct 2011 10:05:32 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100464.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2011/10/21/cambiare-ldquoedit-top-200-rowsrdquo-e-ldquoselect-top-1000-rowsrdquo.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100464.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100464.aspx</trackback:ping>
        </item>
        <item>
            <title>Sviluppare per Windows Mobile su Windows7</title>
            <category>.NET</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2011/10/05/sviluppare-per-windows-mobile-su-windows7.aspx</link>
            <description>&lt;p&gt;Installando il Windows Mobile Device Center vi viene chiesto di installare Virtual PC 2007 (per utilizzare un su driver) che oltre ad essere una installazione un po’ “pesante” vi blocca l’utilizzo del XP Mode.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Sviluppare-per-Windows-Mobile-su-Windows_9405/image_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Sviluppare-per-Windows-Mobile-su-Windows_9405/image_thumb.png" width="244" height="90" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ma c’è una soluzione che potrete trovare a &lt;a href="http://www.ienumerable.it/blog/post/sviluppare-per-windows-mobile-su-windows7" target="_blank"&gt;questo indirizzo&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Grazie &lt;a href="http://www.ienumerable.it/" target="_blank"&gt;Andrea&lt;/a&gt;!!!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:af3b4c5a-4d58-492e-b756-9e601f6c3dd2" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/Windows+Mobile" rel="tag"&gt;Windows Mobile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows7" rel="tag"&gt;Windows7&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100424.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2011/10/05/sviluppare-per-windows-mobile-su-windows7.aspx</guid>
            <pubDate>Wed, 05 Oct 2011 08:36:12 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100424.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2011/10/05/sviluppare-per-windows-mobile-su-windows7.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100424.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100424.aspx</trackback:ping>
        </item>
        <item>
            <title>Access &amp;amp; E_FAIL(0x80004005)</title>
            <category>.NET</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2011/10/04/access-amp-e_fail0x80004005.aspx</link>
            <description>&lt;p&gt;Me lo scrivo sul blog nella speranza che mi rimanga in testa: quando fate query verso database Access da .NET può facilmente succedere di ottenere la seguente segnalazione di errore:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;IErrorInfo.GetDescription failed with E_FAIL(0x80004005)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;per risolverlo dovete “solo” aggiungere le parantesi quadre prima e dopo tutti i campi della query (per essere più chiari [nometabella].[nomecampo] ). A quanto ho capito, nel caso di interrogazioni che coinvolgono più tabelle, ad Access non basta che preponiate il nome della tabella a tutti i campi. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-confusedsmile" alt="Perplesso" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Acc.GetDescription-non-riuscito-con-E_FA_800C/wlEmoticon-confusedsmile_2.png" /&gt;&lt;/p&gt;  &lt;p&gt;Adesso scusatemi che devo perdere 10 minuti a mettere parentesi quadre in giro. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Occhiolino" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Acc.GetDescription-non-riuscito-con-E_FA_800C/wlEmoticon-winkingsmile_2.png" /&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2ef1d3dd-b54a-4a40-a583-93fe049b8e4b" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/Access" rel="tag"&gt;Access&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Query" rel="tag"&gt;Query&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100417.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2011/10/04/access-amp-e_fail0x80004005.aspx</guid>
            <pubDate>Tue, 04 Oct 2011 07:11:57 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100417.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2011/10/04/access-amp-e_fail0x80004005.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100417.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100417.aspx</trackback:ping>
        </item>
        <item>
            <title>DateRange in C#</title>
            <category>.NET</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2011/08/24/daterange-in-c.aspx</link>
            <description>&lt;p&gt;Su richiesta di &lt;a href="http://www.tostring.it/" target="_blank"&gt;qualcuno&lt;/a&gt; ho provveduto a fare il porting in C# di una mia “vecchia” classe per la gestione dei range di data di cui avevo parlato &lt;a href="http://blogs.ugidotnet.org/ddl/archive/2008/07/14/daterange.aspx" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Ecco la versione C# (…devo ammettere mi ha fatto scovare un po’ di “cavolate” che VB non segnalava &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-embarrassedsmile" alt="Imbarazzato" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/ea6a85eb5474_D95C/wlEmoticon-embarrassedsmile_2.png" /&gt;)&lt;/p&gt;  &lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; DateRange 
    {

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;enum&lt;/span&gt; IntervalType
        {
            Milliseconds,
            Second,
            Minute,
            Hour,
            Day
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;enum&lt;/span&gt; Direction
        {
            Foward,
            Backward
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; DateTime _start;
        &lt;span class="kwrd"&gt;public&lt;/span&gt; DateTime Start
        {
            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; _start; }
            set { _start = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; DateTime _end;
        &lt;span class="kwrd"&gt;public&lt;/span&gt; DateTime End
        {
            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; _end; }
            set { _end = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; DateRange(DateTime start, DateTime end)
        {
            _start = start;
            _end = end;
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsEmpty
        {
            get
            {
                &lt;span class="kwrd"&gt;return&lt;/span&gt; (_start.CompareTo(&lt;span class="kwrd"&gt;null&lt;/span&gt;) == 0 &amp;amp;&amp;amp; _end.CompareTo(&lt;span class="kwrd"&gt;null&lt;/span&gt;) == 0) || (_start.Equals(&lt;span class="kwrd"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; _end.Equals(&lt;span class="kwrd"&gt;null&lt;/span&gt;));
            }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; Contains(DateTime &lt;span class="kwrd"&gt;value&lt;/span&gt;)
        {
            DateTime dateValue = &lt;span class="kwrd"&gt;value&lt;/span&gt;;
            &lt;span class="kwrd"&gt;return&lt;/span&gt; _start.CompareTo(dateValue) &amp;lt;= 0 &amp;amp;&amp;amp; dateValue.CompareTo(_end) &amp;lt;= 0;
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; Contains(DateRange other)
        {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;this&lt;/span&gt;.Contains(other._start) &amp;amp;&amp;amp; &lt;span class="kwrd"&gt;this&lt;/span&gt;.Contains(other._end);
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; Intersect(DateRange other)
        {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; !(&lt;span class="kwrd"&gt;this&lt;/span&gt;.Contains(other)) || other.Contains(_start) || other.Contains(_end);
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; Overlaps(DateRange other)
        {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;this&lt;/span&gt;.Contains(other) || other.Contains(_start) || other.Contains(_end);
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; DateRange Intersection(DateRange other)
        {

            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!&lt;span class="kwrd"&gt;this&lt;/span&gt;.Overlaps(other))
                &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;null&lt;/span&gt;;

            &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;this&lt;/span&gt;.Contains(other))
                &lt;span class="kwrd"&gt;return&lt;/span&gt; other;
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (other.Contains(&lt;span class="kwrd"&gt;this&lt;/span&gt;))
                &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;this&lt;/span&gt;;

            &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;this&lt;/span&gt;.Start &amp;gt; other.Start)
            {
                &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(&lt;span class="kwrd"&gt;this&lt;/span&gt;.Start, other.End);
            }
            &lt;span class="kwrd"&gt;else&lt;/span&gt;
            {
                &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(other.Start, &lt;span class="kwrd"&gt;this&lt;/span&gt;.End);
            }

        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; IList&amp;lt;DateRange&amp;gt; Subtraction(DateRange other)
        {
            List&amp;lt;DateRange&amp;gt; ret = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;DateRange&amp;gt;();

            &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;this&lt;/span&gt;.Overlaps(other) &amp;amp;&amp;amp; !other.Contains(&lt;span class="kwrd"&gt;this&lt;/span&gt;) &amp;amp;&amp;amp; !&lt;span class="kwrd"&gt;this&lt;/span&gt;.Equals(other))
            {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;this&lt;/span&gt;.Contains(other))
                {
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!(&lt;span class="kwrd"&gt;this&lt;/span&gt;.Start == other.Start))
                        ret.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(&lt;span class="kwrd"&gt;this&lt;/span&gt;.Start, other.Start));
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!(&lt;span class="kwrd"&gt;this&lt;/span&gt;.End == other.End))
                        ret.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(other.End, &lt;span class="kwrd"&gt;this&lt;/span&gt;.End));
                }
                &lt;span class="kwrd"&gt;else&lt;/span&gt;
                {
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;this&lt;/span&gt;.Start &amp;gt;= other.Start)
                    {
                        ret.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(other.End, &lt;span class="kwrd"&gt;this&lt;/span&gt;.End));
                    }
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                    {
                        ret.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(&lt;span class="kwrd"&gt;this&lt;/span&gt;.Start, other.End));
                    }
                }
            }

            &lt;span class="kwrd"&gt;return&lt;/span&gt; ret;

        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;double&lt;/span&gt; Total(IntervalType intervalType)
        {

            &lt;span class="kwrd"&gt;switch&lt;/span&gt; (intervalType)
            {
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Day:
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; _end.Subtract(_start).TotalDays;
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Hour:
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; _end.Subtract(_start).TotalHours;
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Milliseconds:
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; _end.Subtract(_start).TotalMilliseconds;
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Minute:
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; _end.Subtract(_start).TotalMinutes;
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Second:
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; _end.Subtract(_start).TotalSeconds;
                &lt;span class="kwrd"&gt;default&lt;/span&gt;:
                    &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; NotImplementedException(&lt;span class="str"&gt;"Not supported interval"&lt;/span&gt;);
            }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; DateRange Extend(&lt;span class="kwrd"&gt;int&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;, IntervalType intervalType, Direction direction)
        {


            &lt;span class="kwrd"&gt;switch&lt;/span&gt; (intervalType)
            {
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Day:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Backward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddDays(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end);
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start, _end.AddDays(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Hour:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Backward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddHours(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end);
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start, _end.AddHours(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Minute:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Backward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddMinutes(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end);
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start, _end.AddMinutes(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Second:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Backward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddSeconds(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end);
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start, _end.AddSeconds(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Milliseconds:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Backward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddMilliseconds(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end);
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start, _end.AddMilliseconds(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;default&lt;/span&gt;:
                    &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; NotImplementedException(&lt;span class="str"&gt;"Not supported interval"&lt;/span&gt;);
            }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; DateRange Shift(&lt;span class="kwrd"&gt;int&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;, IntervalType intervalType, Direction direction)
        {

            &lt;span class="kwrd"&gt;switch&lt;/span&gt; (intervalType)
            {
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Day:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Foward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddDays(&lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddDays(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddDays(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddDays(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Hour:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Foward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddHours(&lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddHours(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddHours(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddHours(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Minute:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Foward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddMinutes(&lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddMinutes(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddMinutes(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddMinutes(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Second:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Foward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddSeconds(&lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddSeconds(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddSeconds(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddSeconds(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;case&lt;/span&gt; IntervalType.Milliseconds:
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (direction == DateRange.Direction.Foward)
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddMilliseconds(&lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddMilliseconds(&lt;span class="kwrd"&gt;value&lt;/span&gt;));
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; DateRange(_start.AddMilliseconds(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;), _end.AddMilliseconds(-1 * &lt;span class="kwrd"&gt;value&lt;/span&gt;));
                &lt;span class="kwrd"&gt;default&lt;/span&gt;:
                    &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; NotImplementedException(&lt;span class="str"&gt;"Not supported interval"&lt;/span&gt;);

            }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; GetHashCode()
        {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; _start.GetHashCode() ^ _end.GetHashCode();
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; Equals(&lt;span class="kwrd"&gt;object&lt;/span&gt; obj)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (obj &lt;span class="kwrd"&gt;is&lt;/span&gt; DateRange)
            {
                &lt;span class="kwrd"&gt;return&lt;/span&gt; Equals((DateRange)obj);
            }
            &lt;span class="kwrd"&gt;else&lt;/span&gt;
            {
                &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
            }
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; Equals(DateRange other)
        {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; _start.Equals(other._start) &amp;amp;&amp;amp; _end.Equals(other._end);
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; &lt;span class="kwrd"&gt;operator&lt;/span&gt; ==(DateRange a, DateRange b)
        {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; a.Equals(b);
        }

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; &lt;span class="kwrd"&gt;operator&lt;/span&gt; !=(DateRange a, DateRange b)
        {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; !(a == b);
        }
    }&lt;/pre&gt;

&lt;p /&gt;&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;Ho approfittato per aggiungere gli operatori == e != (cosa non fattibile in VB).&lt;/p&gt;

&lt;p&gt;Spero che la fretta non abbia prodotto danni ai gattini &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-openmouthedsmile" alt="A bocca aperta" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/ea6a85eb5474_D95C/wlEmoticon-openmouthedsmile_2.png" /&gt; altrimenti segnalatemi qualsiasi imprecisione.&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6de61a9d-b5cd-4e77-835d-487cb95d9932" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Date+Range" rel="tag"&gt;Date Range&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100297.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2011/08/24/daterange-in-c.aspx</guid>
            <pubDate>Wed, 24 Aug 2011 13:33:13 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100297.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2011/08/24/daterange-in-c.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100297.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100297.aspx</trackback:ping>
        </item>
        <item>
            <title>Errori WCF &amp;ldquo;poco chiari&amp;rdquo;</title>
            <category>WCF</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2011/08/19/errori-wcf-ldquopoco-chiarirdquo.aspx</link>
            <description>&lt;p&gt;Ormai lavoro sempre attraverso servizi WCF per tre principali motivi:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Spesso mi trovo a dover delocalizzare geograficamente i miei programmi per cui avere l’accesso ai dati vicino al DB non va mai male &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Occhiolino" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Errori-WCF_92F9/wlEmoticon-winkingsmile_2.png" /&gt; &lt;/li&gt;    &lt;li&gt;Non devo installare la connessione al DB a tutte le macchine client (attualmente uso Oracle XE come DB) &lt;/li&gt;    &lt;li&gt;Se devo cambiare qualcosa, spesso il problema è lato servizi e posso rimediare senza “disturbare” gli utenti. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;Purtroppo spesso WCF è criptico nella segnalazione degli errori e molto frequentemente ritorna una eccezione del tipo “The connection was closed unexpectedly” &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-confusedsmile" alt="Perplesso" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Errori-WCF_92F9/wlEmoticon-confusedsmile_2.png" /&gt; che non aiuta molto nella soluzione del problema, anche se ho incluso la seguente voce nel file di configurazione:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&amp;lt;serviceDebug includeExceptionDetailInFaults=&lt;span class="str"&gt;"true"&lt;/span&gt; /&amp;gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[




.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;All’ennesimo errore ho “googlato” un po’ scoprendo &lt;a href="http://msdn.microsoft.com/en-gb/library/ms732023.aspx" target="_blank"&gt;questa pagina&lt;/a&gt; che spiega come abilitare e analizzare la traccia dei servizi WCF. 

  &lt;br /&gt;“Basta” aggiungere una parte di configurazione al web.config del servizio 

  &lt;br /&gt;&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&amp;lt;system.diagnostics&amp;gt;
    &amp;lt;trace autoflush=&lt;span class="str"&gt;"true"&lt;/span&gt; /&amp;gt;
    &amp;lt;sources&amp;gt;
            &amp;lt;source name=&lt;span class="str"&gt;"System.ServiceModel"&lt;/span&gt; 
                    switchValue=&lt;span class="str"&gt;"Information, ActivityTracing"&lt;/span&gt;
                    propagateActivity=&lt;span class="str"&gt;"true"&lt;/span&gt;&amp;gt;
            &amp;lt;listeners&amp;gt;
               &amp;lt;add name=&lt;span class="str"&gt;"sdt"&lt;/span&gt; 
                   type=&lt;span class="str"&gt;"System.Diagnostics.XmlWriterTraceListener"&lt;/span&gt; 
                   initializeData= &lt;span class="str"&gt;"SdrConfigExample.e2e"&lt;/span&gt; /&amp;gt;
            &amp;lt;/listeners&amp;gt;
         &amp;lt;/source&amp;gt;
    &amp;lt;/sources&amp;gt;
&amp;lt;/system.diagnostics&amp;gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[




.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;sulla pagina sopra riportata trovate tutte le possibili configuazione del tracing.Vorrei solo sottolineare che l’attributo “initializeData” consente di definire il nome del file di trace e può essere un path completo, nel caso venga utile e che l’attributo “switchValue” permette di decidere il livello di tracing desiderato.Il file di trace così prodotto può essere aperto con l’utility “SvcTraceViewer” che organizza il file in maniera molto più leggibile.Alla fine il vero problema era “Maximum number of items that can be serialized or deserialized in an object graph is '65536'”, risolto aggiungendo la seguente configurazione alla sezione del serviceBehaviors:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&amp;lt;dataContractSerializer maxItemsInObjectGraph=&lt;span class="str"&gt;"2147483647"&lt;/span&gt; /&amp;gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[




.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;Spesso nelle mie LOB applications mi trovo a dover gestire messaggi belli “cicciotti”… ma questo potrebbe essere materiale per un altro post &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smilewithtongueout" alt="Con la lingua fuori" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Errori-WCF_92F9/wlEmoticon-smilewithtongueout_2.png" /&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8997e977-e865-470b-b70f-db99fd390874" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SvcTraceViewer" rel="tag"&gt;SvcTraceViewer&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100279.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2011/08/19/errori-wcf-ldquopoco-chiarirdquo.aspx</guid>
            <pubDate>Fri, 19 Aug 2011 09:13:21 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100279.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2011/08/19/errori-wcf-ldquopoco-chiarirdquo.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100279.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100279.aspx</trackback:ping>
        </item>
        <item>
            <title>Username e organizzazione sbagliata in Visual Studio 2010</title>
            <category>Visual Studio</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2011/08/18/username-e-organizzazione-sbagliata-in-visual-studio-2010.aspx</link>
            <description>&lt;p&gt;Settimana di ferragosto = un po’ più di tempo per le “cavolate” non core business &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Occhiolino" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/40c5b2cc1d7c_E004/wlEmoticon-winkingsmile_2.png" /&gt;&lt;/p&gt;  &lt;p&gt;Ogni volta che lanciavo Visual Studio 2010 mi dava fastidio non vedere le informazioni corrette della registrazione, ma era un fastidio facilmente sopportabile. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-openmouthedsmile" alt="A bocca aperta" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/40c5b2cc1d7c_E004/wlEmoticon-openmouthedsmile_2.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/40c5b2cc1d7c_E004/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/40c5b2cc1d7c_E004/image_thumb.png" width="244" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Oggi ho trovato &lt;a href="http://blogs.msdn.com/b/vsnetsetup/archive/2010/05/11/the-visual-studio-2010-help-about-dialog-box-and-the-splash-screen-shows-registered-username-and-registered-organization-as-microsoft.aspx" target="_blank"&gt;un post&lt;/a&gt; che spiega come risolvere il problema:&lt;/p&gt;  &lt;p&gt;Per le macchine a 64 bit: &lt;/p&gt;  &lt;p&gt;cambiate a vostro piacimento le seguenti chiavi:&lt;/p&gt;  &lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Registration\UserName    &lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization &lt;/p&gt;  &lt;p&gt;e poi, da una console di amministrazione, lanciate il seguente comando: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /setup &lt;/p&gt;  &lt;p&gt;Per le macchine a 32 bit: &lt;/p&gt;  &lt;p&gt;cambiate a vostro piacimento le seguenti chiavi:&lt;/p&gt;  &lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Registration\UserName    &lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization &lt;/p&gt;  &lt;p&gt;e poi, da una console di amministrazione, lanciate il seguente comando: "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /setup &lt;/p&gt;  &lt;p&gt;Happy developing to all! &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smilewithtongueout" alt="Con la lingua fuori" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/40c5b2cc1d7c_E004/wlEmoticon-smilewithtongueout_2.png" /&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1b6772b7-b76e-42be-bdee-7574bcc08c04" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/Visual+Studio+2010" rel="tag"&gt;Visual Studio 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Licence+Information" rel="tag"&gt;Licence Information&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100274.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2011/08/18/username-e-organizzazione-sbagliata-in-visual-studio-2010.aspx</guid>
            <pubDate>Thu, 18 Aug 2011 14:04:33 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100274.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2011/08/18/username-e-organizzazione-sbagliata-in-visual-studio-2010.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100274.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100274.aspx</trackback:ping>
        </item>
        <item>
            <title>Archiviazione della posta di Outlook</title>
            <category>Windows</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2011/07/25/archiviazione-della-posta-di-outlook.aspx</link>
            <description>&lt;p&gt;Fino ad un po’ di tempo fa Outlook archiviava la posta basandosi solo sulla data di modifica della stessa. Di solito questa data corrispondeva alla data di ricevimento, ma non sempre, come ad esempio succede a me che devo “convivere” con Lotus Notes e utilizzo il DAMO connector per utilizzare Outlook come client. Quando rifaccio la macchina, infatti, il sistema riscarica le mail da Lotus mettendo la data di scaricamento come data di modifica (e non quella di ricezione). &lt;/p&gt;  &lt;p&gt;Questo comporta problemi durante una fase di archiviazione (ad esempio io mi tengo un archivio per anno).&lt;/p&gt;  &lt;p&gt;La soluzione utilizzata fino a poco tempo fa era utilizzare una utility di terze parti (&lt;a href="http://www.cardiffsoft.com/archive.shtml"&gt;ArchiveAssist for Outlook&lt;/a&gt;) che purtroppo non funziona né con Outlook 2010 né, tantomeno, con macchine a 64 bit. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-sadsmile" alt="Triste" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Archiviazione-della-posta-di-Outlook-bas_CEFA/wlEmoticon-sadsmile_2.png" /&gt;&lt;/p&gt;  &lt;p&gt;Con Outlook 2007 e 2010 ora è possibile utilizzare la data di ricezione invece che quella di modifica installando una HotFix (per Outlook 2010 “va su” con il SP1).&lt;/p&gt;  &lt;p&gt;E’ quindi necessario aprire il registry e aggiungere la seguente chiave:&lt;/p&gt;  &lt;p&gt;Per Outlook 2007:    &lt;br /&gt;&lt;code&gt;HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Preferences&lt;/code&gt;     &lt;br /&gt;Per Outlook 2010:     &lt;br /&gt;&lt;code&gt;HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;Nome valore: &lt;code&gt;ArchiveIgnoreLastModifiedTime&lt;/code&gt;     &lt;br /&gt;Tipo Valore: &lt;code&gt;REG_DWORD&lt;/code&gt;     &lt;br /&gt;Valore: &lt;code&gt;1&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;Al prossimo riavvio di Outlook verrà utilizzata la data di ricevimento come data di riferimento per l’archiviazione.&lt;/p&gt;  &lt;p&gt;Maggiori dettagli &lt;a href="http://www.msoutlook.info/question/541"&gt;qui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Buona archiviazione a tutti! &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Occhiolino" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Archiviazione-della-posta-di-Outlook-bas_CEFA/wlEmoticon-winkingsmile_2.png" /&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:aaff12fb-e38c-45cf-bedb-f44221319447" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/Outlook" rel="tag"&gt;Outlook&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HotFix" rel="tag"&gt;HotFix&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100231.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2011/07/25/archiviazione-della-posta-di-outlook.aspx</guid>
            <pubDate>Mon, 25 Jul 2011 13:04:05 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100231.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2011/07/25/archiviazione-della-posta-di-outlook.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100231.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100231.aspx</trackback:ping>
        </item>
        <item>
            <title>Formattazione stringhe SQL Online</title>
            <category>.NET</category>
            <link>http://blogs.ugidotnet.org/ddl/archive/2011/05/16/formattazione-stringhe-sql-online.aspx</link>
            <description>&lt;p&gt;So che ormai tutti usate ORM e quindi non dovete più sporcarvi le mani con l’SQL, ma nel caso vi trovaste a doverlo fare questo servizio on-line può aiutarvi a renderle più “belline” e anche, ad esempio, a prepararvele come StringBuilder da copiare e incollare sul vostro codice. Peccato non ci sia l’add-in per Visual Studio 2010… l’avrei comprato al volo.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dpriver.com/pp/sqlformat.htm"&gt;Instant SQL Formatter&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;A must have tool! &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Occhiolino" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/Windows-Live-Writer/Formattazione-stringhe-SQL_F25B/wlEmoticon-winkingsmile_2.png" /&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:787c764f-b11c-45e0-b421-ed695d8bb9ec" class="wlWriterEditableSmartContent"&gt;Tag di Technorati: &lt;a href="http://technorati.com/tags/SQL+Formatter" rel="tag"&gt;SQL Formatter&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/100040.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Nazareno</dc:creator>
            <guid>http://blogs.ugidotnet.org/ddl/archive/2011/05/16/formattazione-stringhe-sql-online.aspx</guid>
            <pubDate>Mon, 16 May 2011 15:19:44 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/ddl/comments/100040.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/ddl/archive/2011/05/16/formattazione-stringhe-sql-online.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/100040.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/100040.aspx</trackback:ping>
        </item>
    </channel>
</rss>
