<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>ETC</title>
        <link>http://blogs.ugidotnet.org/etc/Default.aspx</link>
        <description>Embrace the change</description>
        <language>it-IT</language>
        <copyright>Francesco</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <image>
            <title>ETC</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/etc/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>ALM Day a Milano, tutto bello ma.....</title>
            <link>http://blogs.ugidotnet.org/etc/archive/2009/11/07/alm-day-a-milano-tutto-bello-ma.aspx</link>
            <description>&lt;p&gt;Traffico milanese a parte, bell'evento ieri a Milano per l'&lt;a href="http://www.microsoft.com/italy/alm/eventi/almday/index.aspx" target="_blank"&gt;ALM Day&lt;/a&gt;.     &lt;br /&gt;Molti gli spunti interessanti: Visual Studio 2010 che promette veramente un salto di qualità nella produzione del software, Software Factories per aumentare la velocità,  &lt;a href="http://channel9.msdn.com/posts/VisualStudio/Lab-Management-coming-to-Visual-Studio-Team-System-2010/" target="_blank"&gt;MTLM&lt;/a&gt; che ripensando all’ultimo progetto presso un cliente avrebbe fatto risparmiare mesi di ping pong bug con l’atro fornitore, persino  &lt;a href="http://dotnetumbria.org/blogs/cruciani/" target="_blank"&gt;qualcuno&lt;/a&gt; che citando il monte cucco mi ha fatto sentire a casa = ) …&lt;/p&gt;  &lt;p&gt;Dicevamo tutto bello ma….. sono l’unico sfigato che ha trovato la chiavetta USB che doveva contenere le presentazioni completamente vuota??!!?&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/etc/aggbug/97471.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco</dc:creator>
            <guid>http://blogs.ugidotnet.org/etc/archive/2009/11/07/alm-day-a-milano-tutto-bello-ma.aspx</guid>
            <pubDate>Sat, 07 Nov 2009 17:25:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/etc/archive/2009/11/07/alm-day-a-milano-tutto-bello-ma.aspx#feedback</comments>
            <slash:comments>348</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/etc/comments/commentRss/97471.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/etc/services/trackbacks/97471.aspx</trackback:ping>
        </item>
        <item>
            <title>Silverlight 3 RTW is out today!</title>
            <link>http://blogs.ugidotnet.org/etc/archive/2009/07/10/silverlight-3-rtw-is-out-today-again.aspx</link>
            <description>Uscita la versione definitiva di Silverlight 3 :   &lt;br /&gt;&lt;a href="http://www.microsoft.com/silverlight/get-started/install/default.aspx"&gt;&lt;font color="#0066cc"&gt;Installer&lt;/font&gt;&lt;/a&gt;   &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=92e1db7a-5d36-449b-8c6b-d25f078f3609" target="_blank"&gt;&lt;font color="#0066cc"&gt;Expression Blend 3 with Sketchflow&lt;/font&gt;&lt;/a&gt;   &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2050e580-f1d5-4040-bb09-e6185591b6b5" target="_blank"&gt;&lt;font color="#0066cc"&gt;Silverlight 3 Software Development Kit (SDK)&lt;/font&gt;&lt;/a&gt;   &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9442b0f2-7465-417a-88f3-5e7b5409e9dd" target="_blank"&gt;&lt;font color="#0066cc"&gt;Silverlight 3 Tools for Visual Studio 2008 SP 1&lt;/font&gt;&lt;/a&gt;   &lt;br /&gt;Dovrò aspettare la fine della prossima settimana che si preannuncia infernale, e del meritato relax in Norvegia per poter fare i primi esperimenti....   &lt;img src="http://blogs.ugidotnet.org/etc/aggbug/97378.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco</dc:creator>
            <guid>http://blogs.ugidotnet.org/etc/archive/2009/07/10/silverlight-3-rtw-is-out-today-again.aspx</guid>
            <pubDate>Fri, 10 Jul 2009 13:30:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/etc/archive/2009/07/10/silverlight-3-rtw-is-out-today-again.aspx#feedback</comments>
            <slash:comments>21</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/etc/comments/commentRss/97378.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/etc/services/trackbacks/97378.aspx</trackback:ping>
        </item>
        <item>
            <title>Un WebService per la Xbox360</title>
            <link>http://blogs.ugidotnet.org/etc/archive/2009/07/06/un-webservice-per-la-xbox360.aspx</link>
            <description>&lt;p&gt;Per tutti i possessori di una Xbox360 come me, vi segnalo questo servizio gentilmente offerto da Duncan Mackenzie disponibile sia come Web Service:    &lt;br /&gt;&lt;a href="http://duncanmackenzie.net/services/XboxInfo.asmx"&gt;http://duncanmackenzie.net/services/XboxInfo.asmx&lt;/a&gt;     &lt;br /&gt;che come Url per un approccio REST:     &lt;br /&gt;&lt;a href="http://duncanmackenzie.net/services/GetXboxInfo.aspx?GamerTag={GamerTag"&gt;http://duncanmackenzie.net/services/GetXboxInfo.aspx?GamerTag={GamerTag&lt;/a&gt;}     &lt;br /&gt;Personalmente non sono riuscito a far funzionare il webservice quindi ho usato il secondo Url per costruire una semplice interfaccia per la GamerTag:&lt;/p&gt;  &lt;p&gt;Recuperiamo i dati dal servizio in maniera asincrona sfruttando la classe WebClient:&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; RequestXmlGamerTag(&lt;span class="kwrd"&gt;string&lt;/span&gt; gamerTag) &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;string&lt;/span&gt; url = &lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"http://duncanmackenzie.net/services/GetXboxInfo.aspx?GamerTag={0}"&lt;/span&gt;, gamerTag); &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    WebClient webClient = &lt;span class="kwrd"&gt;new&lt;/span&gt; WebClient(); &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    webClient.DownloadStringCompleted += &lt;span class="kwrd"&gt;new&lt;/span&gt; DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted); &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    webClient.DownloadStringAsync(&lt;span class="kwrd"&gt;new&lt;/span&gt; Uri(url)); &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;Alla fine del download, se tutto è andato a buon fine e non ci sono errori, parserizziamo la stringa ritornata e usiamo l’oggetto creato come DataContext per l’interfaccia:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;void&lt;/span&gt; webClient_DownloadStringCompleted(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, DownloadStringCompletedEventArgs e) &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (e.Error == &lt;span class="kwrd"&gt;null&lt;/span&gt;) &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        XboxInfo info = loadGamerTag(e.Result); &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        &lt;span class="kwrd"&gt;this&lt;/span&gt;.DataContext = info; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        &lt;span class="rem"&gt;//Visualizzo messaggio d'errore...&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;parserizziamo l’xml di risposta usando un pò di LINQ:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; XboxInfo loadGamerTag(&lt;span class="kwrd"&gt;string&lt;/span&gt; xmlGamerTag) &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    XDocument xDoc = XDocument.Parse(xmlGamerTag); &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    XboxInfo gamer = (from XboxInfo &lt;span class="kwrd"&gt;in&lt;/span&gt; xDoc.Descendants(&lt;span class="str"&gt;"XboxInfo"&lt;/span&gt;) &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    select &lt;span class="kwrd"&gt;new&lt;/span&gt; XboxInfo {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    PresenceInfo = &lt;span class="kwrd"&gt;new&lt;/span&gt; PresenceInfo() &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        Valid = (&lt;span class="kwrd"&gt;bool&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"PresenceInfo"&lt;/span&gt;).Element(&lt;span class="str"&gt;"Valid"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        LastSeen = (DateTime)XboxInfo.Element(&lt;span class="str"&gt;"PresenceInfo"&lt;/span&gt;).Element(&lt;span class="str"&gt;"LastSeen"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        Info = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"PresenceInfo"&lt;/span&gt;).Element(&lt;span class="str"&gt;"Info"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        Info2 = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"PresenceInfo"&lt;/span&gt;).Element(&lt;span class="str"&gt;"Info2"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;        Online = (&lt;span class="kwrd"&gt;bool&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"PresenceInfo"&lt;/span&gt;).Element(&lt;span class="str"&gt;"Online"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;        StatusText = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"PresenceInfo"&lt;/span&gt;).Element(&lt;span class="str"&gt;"StatusText"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        Title = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"PresenceInfo"&lt;/span&gt;).Element(&lt;span class="str"&gt;"Title"&lt;/span&gt;)},&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;        Gamertag = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"Gamertag"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        ProfileUrl = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"ProfileUrl"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        TileUrl = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"TileUrl"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;        Country = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"Country"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;        Reputation = (&lt;span class="kwrd"&gt;double&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"Reputation"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;        Bio = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"Bio"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;        Location = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"Location"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;        ReputationImageUrl = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"ReputationImageUrl"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;        GamerScore = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"GamerScore"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;        Zone = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxInfo.Element(&lt;span class="str"&gt;"Zone"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;        &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;        RecentGames = (&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;        from XboxUserGameInfo &lt;span class="kwrd"&gt;in&lt;/span&gt; XboxInfo.Element(&lt;span class="str"&gt;"RecentGames"&lt;/span&gt;).Descendants(&lt;span class="str"&gt;"XboxUserGameInfo"&lt;/span&gt;) &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;            select &lt;span class="kwrd"&gt;new&lt;/span&gt; XboxUserGameInfo &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;                Game = &lt;span class="kwrd"&gt;new&lt;/span&gt; XboxGameInfo() &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;                    Name = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxUserGameInfo.Element(&lt;span class="str"&gt;"Game"&lt;/span&gt;).Element(&lt;span class="str"&gt;"Name"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;                    Image32Url = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxUserGameInfo.Element(&lt;span class="str"&gt;"Game"&lt;/span&gt;).Element(&lt;span class="str"&gt;"Image32Url"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;                    Image64Url = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxUserGameInfo.Element(&lt;span class="str"&gt;"Game"&lt;/span&gt;).Element(&lt;span class="str"&gt;"Image64Url"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;                    TotalAchievements = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)XboxUserGameInfo.Element(&lt;span class="str"&gt;"Game"&lt;/span&gt;).Element(&lt;span class="str"&gt;"TotalAchievements"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;                    TotalGamerScore = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)XboxUserGameInfo.Element(&lt;span class="str"&gt;"Game"&lt;/span&gt;).Element(&lt;span class="str"&gt;"TotalGamerScore"&lt;/span&gt;) &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;                },&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;            Achievements = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)XboxUserGameInfo.Element(&lt;span class="str"&gt;"Achievements"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;            GamerScore = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)XboxUserGameInfo.Element(&lt;span class="str"&gt;"GamerScore"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;            DetailsURL = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)XboxUserGameInfo.Element(&lt;span class="str"&gt;"DetailsURL"&lt;/span&gt;), &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;            LastPlayed = (DateTime)XboxUserGameInfo.Element(&lt;span class="str"&gt;"LastPlayed"&lt;/span&gt;) &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;        }).ToList&amp;lt;XboxUserGameInfo&amp;gt;() &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;        }).First();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; gamer; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p /&gt;
E il gioco è fatto!!! Ora non resta che costruire un’interfaccia grafica accattivante per la nostra gamerTag!!

&lt;br /&gt;Ah, per chi volesse una sfida a TopSpin3 o a qualche altro gioco aggiungetemi pure, il mio gamertag è Sullivan80!

&lt;img src="http://blogs.ugidotnet.org/etc/aggbug/96613.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco</dc:creator>
            <guid>http://blogs.ugidotnet.org/etc/archive/2009/07/06/un-webservice-per-la-xbox360.aspx</guid>
            <pubDate>Mon, 06 Jul 2009 01:36:24 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/etc/archive/2009/07/06/un-webservice-per-la-xbox360.aspx#feedback</comments>
            <slash:comments>302</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/etc/comments/commentRss/96613.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/etc/services/trackbacks/96613.aspx</trackback:ping>
        </item>
        <item>
            <title>jQuery e la validazione ASP.NET</title>
            <category>jQuery</category>
            <category>ASP.NET</category>
            <link>http://blogs.ugidotnet.org/etc/archive/2009/06/30/jquery-e-la-validazione-asp.net.aspx</link>
            <description>Complice finalmente un progettino WEB che mi ha fatto dimenticare per un paio di settimane l'amatissimo &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/confused_smile.gif" /&gt;  mapper di Biztalk e una stima dei tempi per realizzarlo decisamente larga, ho cominciato a fare qualche esperimento con &lt;a href="javascript:void(0);/*1246284752663*/"&gt;jQuery&lt;/a&gt;   + ASP.NET..&lt;br /&gt;
&lt;br /&gt;
Che dire.. la potenza di Jquery è veramente impressionante, Il numero di righe javascript si riduce, e la sintassi, per quanto all'inizio un pò ostica da scrivere, poi rende il codice molto più leggibile.&lt;br /&gt;
&lt;br /&gt;
La web application che sto sviluppando ha il seguente vincolo funzionale: Ci sono n campi di ricerca/filtro obbligatori &lt;br /&gt;
che però potrebbero esser lasciati vuoti in funzione di un altro campo.&lt;br /&gt;
Per intenderci, avendo una situazione simile:&lt;br /&gt;
&lt;br /&gt;
&lt;img width="240" height="90" src="/images/blogs_ugidotnet_org/etc/WindowsLiveWriter/figura1(1).png" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
Se il campo "Nr. Sessione" viene valorizzato gli altri campi obbligatori come data e ora d'esecuzione possono anche &lt;br /&gt;
essere lasciati vuoti.&lt;br /&gt;
&lt;br /&gt;
Avendo  molti campi da disattivare tutti con i rispettivi validator control, il codice javascipt da scrivere &lt;br /&gt;
non sarebbe stato poco e quindi la mia soluzione è stata questa:&lt;br /&gt;
&lt;br /&gt;
"Decorare" ogni campo che deve essere disabiliato e i corrispettivi Validators con degli attributi &lt;span style="font-style: italic;"&gt;alternative="true" &lt;/span&gt;&lt;br /&gt;
per i campi di testo e &lt;span style="font-style: italic;"&gt;alternativeVal="true"&lt;/span&gt; per i validatori:&lt;br /&gt;
&lt;br /&gt;
&lt;img width="710" height="226" alt="" src="/images/blogs_ugidotnet_org/etc/WindowsLiveWriter/figura5.png" /&gt;&lt;br /&gt;
Aggiungere la seguente funzione per intercettare il cambiamento del campo che guida il comportamento degli altri:&lt;br /&gt;
&lt;br /&gt;
&lt;img width="466" height="133" src="/images/blogs_ugidotnet_org/etc/WindowsLiveWriter/figura3.png" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
e aggiungere un'altra funzione che si occupi di disabilitare i controlli e i validatori in funzione del contenuto del campo guida:&lt;br /&gt;
&lt;br /&gt;
&lt;img width="710" height="226" src="/images/blogs_ugidotnet_org/etc/WindowsLiveWriter/figura4.png" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
La funzione ValidatorEnable fa parte della libreria javascipt di a ASP.NET, i suoi due argomenti sono lo &amp;lt;span&amp;gt; renderizzato sull'html da ASP.NET per ogni validator e un booleno che indica se accendere o spegnere la validazione.&lt;br /&gt;
&lt;br /&gt;
Tutto questo funziona alla grande e senza troppo codice da scrivere. L'unica cosa che non mi piace molto è stato l'introdurre degli attributi fasulli ai controlli ASP.NET per ottenere una semplice selezione con jQuery di tutti gli elementi. Qualcuno ha idee alternative (e sicuramente migliori &lt;img src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/regular_smile.gif" alt="" /&gt; ) su come farlo?&lt;img src="http://blogs.ugidotnet.org/etc/aggbug/96556.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco</dc:creator>
            <guid>http://blogs.ugidotnet.org/etc/archive/2009/06/30/jquery-e-la-validazione-asp.net.aspx</guid>
            <pubDate>Tue, 30 Jun 2009 10:00:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/etc/archive/2009/06/30/jquery-e-la-validazione-asp.net.aspx#feedback</comments>
            <slash:comments>63</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/etc/comments/commentRss/96556.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/etc/services/trackbacks/96556.aspx</trackback:ping>
        </item>
        <item>
            <title>ReMIX</title>
            <link>http://blogs.ugidotnet.org/etc/archive/2009/06/15/remix.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://www.microsoft.com/italy/nextweb/remix/index.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ImmagineRemix" border="0" alt="ImmagineRemix" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/etc/WindowsLiveWriter/ReMIX_DA94/ImmagineRemix_3.jpg" width="404" height="254" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Io ci sarò… Se qualcun’altro della community è presente mi farebbe piacere incontrarlo!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/etc/aggbug/96437.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco</dc:creator>
            <guid>http://blogs.ugidotnet.org/etc/archive/2009/06/15/remix.aspx</guid>
            <pubDate>Mon, 15 Jun 2009 21:54:45 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/etc/archive/2009/06/15/remix.aspx#feedback</comments>
            <slash:comments>15</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/etc/comments/commentRss/96437.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/etc/services/trackbacks/96437.aspx</trackback:ping>
        </item>
        <item>
            <title>Da qualche parte si dovr&amp;agrave; pur cominciare&amp;hellip;</title>
            <link>http://blogs.ugidotnet.org/etc/archive/2009/06/14/da-qualche-parte-si-dovragrave-pur-cominciarehellip.aspx</link>
            <description>&lt;p&gt;Salve a tutti! Dopo tanti mesi passati a leggere il muro di Ugi in modalità “ spettatore” ho deciso anche io di cominciare a scrivere qualcosa… Cominciamo dalle presentazioni: mi chiamo Francesco, 29 anni, una laurea in ingegneria informatica e un lavoro da consulente in ambito .NET nella zona di Reggio Emilia. &lt;/p&gt;  &lt;p&gt;Lavoro con  le tecnologie Microsoft da circa 4 anni, dove release del framework e nuove tecnologie escono molto più velocemente di quanto sia umanamente possibile imparare… Eppure la passione mi spinge a tentare di rimanere sempre aggiornato, studiando, leggendo libri, seguendo eventi e conferenze, quello che è possibile fare  per “abbracciare il cambiamento” , rimanere sulla cresta dell’onda del nostro lavoro..&lt;/p&gt;  &lt;p&gt;Nel ringraziare tutta la community per quanto ho appreso finora, prometto solennemente che vi annoierò il meno possibile con i miei post = )&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/etc/aggbug/96427.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Francesco</dc:creator>
            <guid>http://blogs.ugidotnet.org/etc/archive/2009/06/14/da-qualche-parte-si-dovragrave-pur-cominciarehellip.aspx</guid>
            <pubDate>Sun, 14 Jun 2009 15:33:23 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/etc/archive/2009/06/14/da-qualche-parte-si-dovragrave-pur-cominciarehellip.aspx#feedback</comments>
            <slash:comments>403</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/etc/comments/commentRss/96427.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/etc/services/trackbacks/96427.aspx</trackback:ping>
        </item>
    </channel>
</rss>