<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>.NET</title>
        <link>http://blogs.ugidotnet.org/csharper/category/.NET.aspx</link>
        <description>"La" piattaforma di sviluppo. Almeno per questo decennio!</description>
        <language>it-IT</language>
        <copyright>Eugenio Schininà</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>Script Callbacks e AJAX</title>
            <link>http://blogs.ugidotnet.org/csharper/archive/2005/02/24/11412.aspx</link>
            <description>&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;Nell'attesa di vedere in funzione il meccanismo di 
ASP.NET 2.0 che &lt;A href="http://blogs.ugidotnet.org/dinoes/"&gt;Dino Esposito 
&lt;/A&gt;cita in uno dei sui &lt;A href="http://blogs.ugidotnet.org/dinoes/archive/2005/02/24/11376.aspx"&gt;primi 
post &lt;/A&gt;(BTW: aggiungo con piacere il mio, ai saluti di benvenuto che gli sono 
arrivati!), segnalo un post (&lt;A href="http://developers.slashdot.org/article.pl?sid=05/02/23/1859222&amp;amp;tid=189&amp;amp;tid=95&amp;amp;tid=217&amp;amp;tid=8"&gt;Building 
Richly Interactive Web Apps with Ajax&lt;/A&gt;)di &lt;A href="http://slashdot.org/"&gt;/.&lt;/A&gt; piuttosto recente che punta a diverse risorse 
interessanti sul tema delle applicazioni web "con GUI dinamica", fra cui &lt;A href="http://www.adaptivepath.com/publications/essays/archives/000385.php"&gt;questa 
&lt;/A&gt;su &lt;ACRONYM title="Asynchronous JavaScript + XML"&gt;AJAX&lt;/ACRONYM&gt;.&lt;/P&gt;
&lt;P&gt;Credo che una delle applicazioni più di impatto sia quella proposta da Google 
con il suo &lt;A href="http://www.google.com/webhp?complete=1&amp;amp;hl=en"&gt;Google 
Suggest&lt;/A&gt;, che usa un meccanismo basato su scripting per aggiornare 
dinamicamente l'elenco delle parole ricercate, a mo' di combobox/intellisense. 
Un'unica nota per chi andrà a provarlo: quando scriverete "p" (prima lettera di 
"prova") scoprirete qual'è il termine più ricercato sul motore... ;-)&lt;/P&gt;
&lt;P&gt;PS: Se avessi saputo che Dino &lt;A href="http://blogs.ugidotnet.org/dinoes/archive/2005/02/18/11045.aspx"&gt;è 
laziale&lt;/A&gt;, essendo io molto affezionato all'altra sponda del Tevere (e quindi 
al pupone!), forse non sarei andato a vedere, forse 5 anni orsono, la sua 
presentazione di ASP.NET e Web Services a Milano. Cosa ho rischiato di 
perdermi!!!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sourceforge.net/projects/imho10"&gt;&lt;FONT face=Verdana size=1&gt;powered by IMHO&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;/FONT&gt;
&lt;/ACRONYM&gt;&lt;!-- Powered by IMHO Instant Blogger Copyright (c) 2004 A.Boschin - http://www.elite.boschin.it --&gt;
&lt;img src="http://blogs.ugidotnet.org/csharper/aggbug/11412.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Eugenio Schininà</dc:creator>
            <guid>http://blogs.ugidotnet.org/csharper/archive/2005/02/24/11412.aspx</guid>
            <pubDate>Thu, 24 Feb 2005 16:46:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/csharper/archive/2005/02/24/11412.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/csharper/comments/commentRss/11412.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/csharper/services/trackbacks/11412.aspx</trackback:ping>
        </item>
        <item>
            <title>Concorrenza (Was: Overbooking)</title>
            <link>http://blogs.ugidotnet.org/csharper/archive/2005/01/27/9990.aspx</link>
            <description>&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;&lt;A href="http://blogs.ugidotnet.org/3854/"&gt;Lorenzo&lt;/A&gt; 
propone un interessante e frequente &lt;A href="http://blogs.ugidotnet.org/3854/archive/2005/01/27/9980.aspx"&gt;problema 
&lt;/A&gt;di gestione "atomica" di verifica e prenotazione di un posto.&lt;BR&gt;Ignorando per un momento le 
pur necessarie distinzioni fra prenotazione di posti numerati e non, una 
soluzione tecnologica esiste (in questo non concordo in pieno col &lt;A href="http://blogs.ugidotnet.org/3854/archive/2005/01/27/9980.aspx#9982"&gt;commento 
&lt;/A&gt; 
            
    di Alessandro), e rappresenta una sorta di pattern per 
questa situazione. Il pattern in particolare è ideale per le applicazioni di 
commercio elettronico in cui la conferma della vendita deve essere data on-line 
(quindi con conferma della disponibilità di magazzino).&lt;/P&gt;
&lt;P&gt;La soluzione consiste appunto nel rendere atomica 
l'operazione di verifica e prenotazione, trasformando l'operazione di ricerca in 
un "update temporaneo".&amp;nbsp;Alla domanda dell'operatore del cinema "Quanti posti le servono?" l'utente risponde con un numero, che l'operatore 
usa come input alla ricerca. A questo punto il sistema 
non "cerca" (SELECT) i posti, ma li "prenota" (UPDATE) direttamente, 
diciamo a nome di quell'operatore (e non dell'utente). Nel caso il cui la 
"ricerca/prenotazione" fallisse, cioè aggiornasse un numero di record inferiore a quello richiesto, 
si fa il rollback ed è necessario ripetere. Nel caso 
invece in cui l'utente procedesse al "checkout" i posti vengono a lui 
assegnati definitivamente.&lt;/P&gt;
&lt;P&gt;La subottimalità introdotta da questo meccanismo è che si rendono 
temporaneamente indisponibili quei posti per cui l'operatrice ha fatto una 
verifica, positiva, ma che poi l'utente al telefono decide di non prendere. Vale 
più o meno lo stesso con il carrello di un utente anonimo in una applicazione di 
commercio elettronico.&lt;/P&gt;
&lt;P&gt;Ovviamente questa è una delle strade possibili. Sono curioso di seguire il 
seguito della discussione.&lt;/P&gt;
&lt;P&gt;Un'ultima nota: il termine overbooking è in realtà improprio in questo 
contesto, ma credo che il contenuto del post di Lorenzo chiarisca di cosa si sta 
parlando&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sourceforge.net/projects/imho10"&gt;&lt;FONT face=Verdana size=1&gt;powered by IMHO&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;/FONT&gt;&lt;!-- Powered by IMHO Instant Blogger Copyright (c) 2004 A.Boschin - http://www.elite.boschin.it --&gt;
&lt;img src="http://blogs.ugidotnet.org/csharper/aggbug/9990.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Eugenio Schininà</dc:creator>
            <guid>http://blogs.ugidotnet.org/csharper/archive/2005/01/27/9990.aspx</guid>
            <pubDate>Thu, 27 Jan 2005 13:59:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/csharper/archive/2005/01/27/9990.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/csharper/comments/commentRss/9990.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/csharper/services/trackbacks/9990.aspx</trackback:ping>
        </item>
        <item>
            <title>Intellisense per NAnt e WiX</title>
            <link>http://blogs.ugidotnet.org/csharper/archive/2004/10/12/4203.aspx</link>
            <description>&lt;!-- Posted by IMHO 1.0 Instant Blogger by A.Boschin 2004. http://www.elite.boschin.it --&gt;
&lt;P&gt;Per quanto il supporto dell'intellisense nell'editor di 
VS non sia un requisito per l'utilizzo di questi due strumenti, averlo può 
risparmiare qualche &lt;EM&gt;round-trip&lt;/EM&gt; alla documentazione (soprattutto per il 
&lt;A href="http://sourceforge.net/projects/wix/"&gt;secondo&lt;/A&gt;          
         
   , che ha uno schema - con relativo object model - 
davvero lungo e complesso).&lt;BR&gt;E ho scoperto che è anche piuttosto facile ottenerlo. 
Riassumo in questo post gli step necessari per entrambi.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://nant.sourceforge.net/" title="NAnt - A .NET Build Tool"&gt;NAnt&lt;/A&gt;:&lt;BR&gt;E' sufficiente copiare il 
file "nant-0.84.xsd" (o 0.85, in funzione della versione che usate) dalla sua 
cartella ("c:\Programmi\Nant\schema\" oppure "c:\Programmi\Nant\build\schema\") 
nella cartella "C:\Programmi\Microsoft Visual Studio .NET 
2003\Common7\Packages\schemas\xml\".&lt;BR&gt;Inoltre nel registry va aggiunta un valore "dword" ("build"=dword:00000028) 
in questa 
chiave:&lt;BR&gt;&lt;FONT face=Arial 
size=2&gt;&lt;BR&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Editors\{C76D83F8-A489-11D0-8195-00A0C91BBEE3}\Extensions]&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A 
href="http://sourceforge.net/projects/wix/" title="Windows Installer XML (WiX) toolset"&gt;WiX&lt;/A&gt;:&lt;BR&gt;Sostanzialmente lo stesso lavoro: copiate i file&amp;nbsp;&lt;!--StartFragment --&gt;&lt;FONT face=Arial 
size=1&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;wix.xsd&lt;/STRONG&gt; e 
&lt;STRONG&gt;wixloc.xsd&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; nella 
cartella "C:\Programmi\Microsoft Visual Studio .NET 
2003\Common7\Packages\schemas\xml\" e aggiungete nella stessa chiave un nuovo 
valore "dword" ("wxs"=dword:00000028).&amp;lt;  
     
        
  BR&amp;gt;&lt;/P&gt;
&lt;P&gt;Grazie&amp;nbsp;&lt;A href="http://weblogs.asp.net/sweinstein/"&gt;Scott 
Weinstein&lt;/A&gt;&amp;nbsp;per l'&lt;A 
href="http://weblogs.asp.net/sweinstein/archive/2004/08/31/223461.aspx"&gt;hint&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/csharper/aggbug/4203.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Eugenio Schininà</dc:creator>
            <guid>http://blogs.ugidotnet.org/csharper/archive/2004/10/12/4203.aspx</guid>
            <pubDate>Tue, 12 Oct 2004 18:17:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/csharper/archive/2004/10/12/4203.aspx#feedback</comments>
            <slash:comments>9</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/csharper/comments/commentRss/4203.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/csharper/services/trackbacks/4203.aspx</trackback:ping>
        </item>
    </channel>
</rss>