<?xml version="1.0" encoding="Windows-1252"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>LMLog - Il blog di Lino Mari</title><link>http://blogs.aspitalia.com/linomari/</link><description>LMLog - Il blog di Lino Mari</description><language>it-it</language><managingEditor>noreply(at)aspitalia.com(LMLog - Il blog di Lino Mari)</managingEditor><webMaster>daniele(at)aspitalia.com(Daniele Bochicchio)</webMaster><copyright>1998-2008 ASPItalia.com/LMLog - Il blog di Lino Mari</copyright><generator>Generated by feed.ASPItalia.com 'Weyoh' 4.8.715</generator><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><sy:updateBase>1998-01-01T12:00+00:00</sy:updateBase><image><title>LMLog - Il blog di Lino Mari</title><url>http://blogs.aspitalia.com/blogs.gif</url><link>http://blogs.aspitalia.com/linomari/</link></image><item><title>codebehind e pubblicazione progetti</title><link>http://blogs.aspitalia.com/linomari/post350/Codebehind-Pubblicazione-Progetti.aspx</link><pubDate>Sat, 24 Apr 2004 12:31:25 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=350' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Volevo appoggiarmi al discorso fatto da &lt;a href="http://blogs.aspitalia.com/daniele/post341.aspx"&gt;Daniele&lt;/a&gt; sull'utlizzo di un ambiente visuale come vs.net per sviluppare applicazioni e progetti web.&lt;/p&gt;&lt;p&gt;Porto la mia esperienza in merito, visto che gestisco dei progetti molto grossi in termini di sviluppo e persone coinvolte nello sviluppo giornaliero.&lt;/p&gt;&lt;p&gt;Attualmente utilizziamo (e siamo i soli in azienda, perche' ci sono altre 5 business unit), il vecchio e caro notepad. Siamo 5 sviluppatori sullo stesso progetto, anche se io *dovrei* solo gestire e coordinare... ;)&lt;/p&gt;&lt;p&gt;Comunque quello che volevo dire e' che ci troviamo benissimo a lavorare in questo modo, abbiamo il controllo delle versioni con sourcesafe... e spesso ci capita di aggiustare in tempo reale piccole cose o piccole modifiche richieste dal cliente sul server di sviluppo e poi pubblicare il tutto sul server di produzione...&lt;/p&gt;&lt;p&gt;ebbene in questo modo impieghiamo 2 minuti netti... se invece utilizzavamo ambienti visuali che scrivevano codebehind le cose erano molto diverse. Ogni volta compilare un intero progetto con un centinaio di classi e diversi sottoprogetti... sarebbe stato un disastro.&lt;/p&gt;&lt;p&gt;Al momento sulla bilancia non oso mettere vs.net con notepad... al momento vince notepad 10-1.&lt;/p&gt;&lt;p&gt;Con la prossima versione (2005) le cose semvrerebbero diverse, ma dal dire al fare c'e' di mezzo... ;) quindi bisogna provare su progetti veri e importsanti per vedere se questo problema e' davvero riosolto. Ovviamente ci sono tante features che valgono la pena di essere utilizzate... quindi questa volta almeno metto in dubbio l'utilizzo di notepad. dopo anni di egregio lavoro... e aver contribuito a creare progetti per qualche milione di euro! ;)))&lt;/p&gt;&lt;p /&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post350/Codebehind-Pubblicazione-Progetti.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post350/Codebehind-Pubblicazione-Progetti.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS350.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=350</trackback:ping></item><item><title>Giornata gratuita per conoscere Whidbey e Yukon ovvero ASP.NET 2.0 e il nuovo SQL Server</title><link>http://blogs.aspitalia.com/linomari/post95/Giornata-Gratuita-Conoscere-Whidbey-Yukon-ASP.NET-2.0-SQL-Server.aspx</link><pubDate>Sun, 23 Nov 2003 11:49:12 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=95' border="0" style="width:1px; height:1px;" /&gt;&lt;div class="heading"&gt;Se hai interesse in questa tecnologia, per te una giornata gratuita di approfondimento su Whidbey e Yukon, ovvero quello che sara' il prossimo futuro di ASP.NET e di SQL Server.&lt;/div&gt;&lt;br /&gt;Quando? il 12 dicembre 2003&lt;br /&gt;&lt;p&gt;Dove? Roma - &lt;a href="http://www.fondazionesgm.it/"&gt;SGM Conference Center&lt;/a&gt;,  Via Portuense, 741&lt;/p&gt;&lt;p&gt;Perche? Ti presenteremo ASP.NET 2.0, il nuovo Visual Studio .NET Whidbey applicato allo sviluppo di applicazioni per Windows e per il mobile e ti daremo un assaggio di Yukon, il nuovo SQL Server.&lt;/p&gt;&lt;p&gt;Inoltre saranno presenti oltre agli MVP .NET, esperti di Microsoft e purtroppo anche io;), e cosa ancora piu' importante coffee break e pranzo inclusi:))&lt;/p&gt;&lt;p&gt;Allora anticipa il futuro e comincia con noi questa nuova avventura .NET!&lt;/p&gt;&lt;p&gt;Per maggiori info e l'agenda completa: &lt;a href="http://whidbeyday.aspitalia.com/"&gt;http://whidbeyday.aspitalia.com/&lt;/a&gt;&lt;/p&gt;&lt;p /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_2.0/" rel="tag"&gt;ASP.NET 2.0&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development, ASP.NET, ASP.NET 2.0</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post95/Giornata-Gratuita-Conoscere-Whidbey-Yukon-ASP.NET-2.0-SQL-Server.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post95/Giornata-Gratuita-Conoscere-Whidbey-Yukon-ASP.NET-2.0-SQL-Server.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS95.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=95</trackback:ping></item><item><title>Ticket e Roles</title><link>http://blogs.aspitalia.com/linomari/post88/Ticket-Roles.aspx</link><pubDate>Wed, 19 Nov 2003 17:37:34 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=88' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;In questi giorni ho dovuto implementare un bel sistemino di accesso riservato ai contents ed ai services. il bello di tutto questo e' che doveva funzionare per tutti i siti che si basano sulla struttura di accesso condiviso.&lt;/p&gt;&lt;p&gt;Per avere un controllo su ogni service e anche su ogni content inserito per ogni utente (circa 400.000), ho dovuto implementare qualcosa di molto flessibile ed allo stesso tempo sicuro.&lt;/p&gt;&lt;p&gt;Per fare cio' ho creato alcune tabelle di accoppiamento tra gli utenti ed i profili di accesso, collegando ad ogni profilo tutti i roles a cui ha accesso. Ogni roles infatti e' collegato al tipo di service (ogni service un role), ovviamente ogni content puo' essere collegato ad uno o piu' services.&lt;/p&gt;&lt;p&gt;Detto questo che puo' significare tutto e niente, vengo a quello che volevo dire, ovvero per portarmi dietro in ogni fase della navigazione dell'utente tutti i suoi privilegi di accesso (roles) mi sono appoggiato ad un &lt;strong&gt;Ticket&lt;/strong&gt;. Tale Ticket associato al tipo FormsAuthenticationTicket puo' contenere delel informazioni relative all'utente, ed io ho usato la proprieta' UserData per archiviare tutti i Roles relativi all'utente in modo da poterli richiamare in ogni momento.&lt;/p&gt;&lt;p&gt;Riporto una parte del codice dove in pratica viene caricato il ticket e il cookie relativo:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Dim Ticket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, UserName, DateTime.Now, DateTime.Now.AddMinutes(240), False, strRoles)&lt;br /&gt;Dim encTicket As String = FormsAuthentication.Encrypt(Ticket)&lt;br /&gt;Dim authCookie As New HttpCookie(FormsAuthentication.FormsCookieName, encTicket)&lt;br /&gt;HttpContext.Current.Response.Cookies.Add(authCookie)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;e la parte dove riprendo le informazioni:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Dim authcookie As HttpCookie&lt;br /&gt;Dim Ticket As FormsAuthenticationTicket&lt;br /&gt;Dim Roles As String&lt;br /&gt;authcookie = HttpContext.Current.Request.Cookies(FormsAuthentication.FormsCookieName)&lt;br /&gt;Ticket = CType(FormsAuthentication.Decrypt(authcookie.Value), FormsAuthenticationTicket)&lt;br /&gt;Roles = Ticket.UserData&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Per il momento e' tutto... il resto dell'applicazione ancora non e' completata :)&lt;br /&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post88/Ticket-Roles.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post88/Ticket-Roles.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS88.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=88</trackback:ping></item><item><title>oggetti COM Vs Assembly :)</title><link>http://blogs.aspitalia.com/linomari/post54/Oggetti-COM-Assembly-.aspx</link><pubDate>Wed, 05 Nov 2003 20:11:47 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=54' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Oggi un post su &lt;strong&gt;it.comp.www.asp&lt;/strong&gt; mi ha fatto ricordare i brutti tempi quando spesso mi capitava di creare applicazioni web che si basassero su oggetti COM.&lt;/p&gt;&lt;p&gt;beh ho detto tempi brutti non a caso, visto che adesso in .NET se ne puo' fare tranquillamente a meno (COM), perche' esistono strumenti simili ma molto piu' potenti.&lt;/p&gt;&lt;p&gt;cmq quello che voglio dire e' perche' utilizzare ancora i componenti quando abbiamo le pagine asp compilate e performanti almeno quanto un componente?&lt;/p&gt;&lt;p&gt;i vantaggi ovviamente ci sono, almeno secondo il mio modo di vedere le cose, perche' utilizzando un livello intermedio tra le pagine asp ed eventualmente la base dati, si creano le condizioni migliori per il riutilizzo del codice e la separazione netta della business logic.&lt;/p&gt;&lt;p&gt;ovviamente i componenti .NET contenuti in assembly, hanno caratteristiche tipiche del framework .NET e del CLR, come la possibilita' di utlizzare il linguaggio preferito, l'ereditarieta' e tutte le features degli ambienti OO.&lt;/p&gt;&lt;p&gt;avere una struttura organizzata per NameSpace e Classi semplifica di molto la getsione e la manutenzione, nonche' facilita il riutilizzo del codice. in piu' avendo la business logic esterna alle pagine e' possibile creare web application utilizzabili da progetti diversi, basta importare l'oggetto o gli oggetti compilati. &lt;/p&gt;&lt;p&gt;altro vantaggio e' sicuramente la possibilita' di distribuzione a terzi dell'applicazione, senza per forza di cose consegnare anche i sorgenti.&lt;/p&gt;&lt;p&gt;il CLR offre al pari del modello COM la possibilita' di gestire le transazioni, ma mentre nelle pagine asp.net diventa abbastanza semplice gestirle nei componenti invece bisogna creare un componente servito. per farlo bisogna derivare la classe da &lt;strong&gt;System.EnterpriseServices&lt;/strong&gt; ed aggiungere TansactionAttribute e terminare il blocco con il comando &lt;strong&gt;&amp;quot;ContextUtil.SetComplete()&amp;quot;&lt;/strong&gt;. Tra le altre cose bisogna stare attenti a dare al componente un nome Strong, con l'utilizzo di questi attributi:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;assembly:AssemblyKeyFile(&amp;quot;nomefile&amp;quot;)&amp;gt;&lt;br /&gt;&amp;lt;assembly:ApplicationName(&amp;quot;nomeapplicazione&amp;quot;)&amp;gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;in questo modo il nostro assembly finisce nel catalogo dei componenti COM+ e quindi puo' utilizzare le transazioni.&lt;/p&gt;&lt;p&gt;Infine abbiamo la gestione del Versioning molto piu' potente rispetto al modello COM e la possibilita' di uasre versioni diverse della stessa applicazione contemporaneamente.&lt;/p&gt;&lt;p&gt;bene, adesso ho finito di dire le mie fesserie serali! :))&lt;br /&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post54/Oggetti-COM-Assembly-.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post54/Oggetti-COM-Assembly-.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS54.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=54</trackback:ping></item><item><title>La nuova MS di Don Box :)</title><link>http://blogs.aspitalia.com/linomari/post49/MS-Don-Box-.aspx</link><pubDate>Mon, 03 Nov 2003 20:05:30 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=49' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Come dicevo prima la filosofia di MS sta cambiando da tempo, pero' prima di vedere nella realta' dei fatti e quindi nelle applicazioni e nei s.o. quella che e' la nuova apertura verso l'esterno dobbiamo ancora attendere.&lt;/p&gt;&lt;p&gt;Le prime anticipazioni ci sono state al PDC03, ma qualcosa e' gia' visibile adesso.&lt;/p&gt;&lt;p&gt;Dice Don Box: &amp;quot;Nessun programma è un'isola e ogni programma ha bisogno di un altro programma per funzionare&amp;quot; e lui non e' l'ultimo dei fessi.&lt;/p&gt;&lt;p&gt;continua: &amp;quot;E' così che funziona il mondo reale ed è con questo mondo che dobbiamo confrontarci. I servizi non faranno sparire gli oggetti, al contrario gli oggetti diverranno i mattoni per costruire i programmi. E i programmi parleranno tra loro in altri modi. Chiunque abbia provato a programmare con DCOM o con RMI su Java sa che non è una bella esperienza. E' troppo difficile, quindi c'è qualcosa che non va. Infatti bisogna rispettare i confini dei diversi programmi, e questo si può fare in modo molto elegante con l'architettura dei servizi&amp;quot;&lt;/p&gt;&lt;p&gt;Beh mi sembra un bel concetto, l'unica nota negativa in quese cose e' il tempo che intercorre tra il cambio filosofico-culturale e gli effetti nel mondo reale.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post49/MS-Don-Box-.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post49/MS-Don-Box-.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS49.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=49</trackback:ping></item><item><title>Anche VB.NET ha ricevuto la sua dose di novit&amp;#224;</title><link>http://blogs.aspitalia.com/linomari/post48/VB.NET-Ricevuto-Dose-Novita.aspx</link><pubDate>Mon, 03 Nov 2003 17:52:00 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=48' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Anche se sembra il fratello povero di cisciarp, vb.net ha ricevuto la sua bella dose di nuove features.&lt;/p&gt;&lt;p&gt;Anche se non sembra, tra vb.net e c# non c'e' una differenza abissale, anche perche' vb.net ha ben poco a che spartire con le vecchie versioni, quello che cambia molto e' il modo di definire gli oggetti e la sintassi, poi le differenze sono veramente poche e su funzionalita' abbastanza avanzate.&lt;/p&gt;&lt;p&gt;Dal PDC03 sono state anticipate un po' di cose:&lt;br /&gt;- &lt;strong&gt;Overload degli operatori&lt;/strong&gt;&lt;br /&gt;- &lt;strong&gt;Supporto dei Generics&lt;/strong&gt;&lt;br /&gt;- &lt;strong&gt;Unsigned Types&lt;/strong&gt;&lt;br /&gt;in questo caso abbiamo a disposizione un nuovo tipo che e' utilizzabile nel momento in cui non abbiamo bisogno di valori negativi, ma la capacita' del tipo Integer e' troppo limitata. permette di gestire valori piu' grandi perche' ottimizza la memoria non piu' utilizzata per la gestione dei numeri negativi.&lt;/p&gt;&lt;p&gt; - &lt;strong&gt;Partial Class&lt;br /&gt;&lt;/strong&gt;ora una sola classe puo' essere *spalmata* su piu' file e consentire uno sviluppo in team della singola classe... ma se volete vedere la presentazione fatta al PDC03 ecco il ppt: &lt;a href="http://www.gotdotnet.com/team/PDC/4063/TLS300.ppt"&gt;http://www.gotdotnet.com/team/PDC/4063/TLS300.ppt&lt;/a&gt; &lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post48/VB.NET-Ricevuto-Dose-Novita.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post48/VB.NET-Ricevuto-Dose-Novita.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS48.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=48</trackback:ping></item><item><title>Presentazione Avalon e Indigo.</title><link>http://blogs.aspitalia.com/linomari/post46/Presentazione-Avalon-Indigo.aspx</link><pubDate>Mon, 03 Nov 2003 16:01:25 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=46' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;ho trovato il tempo di vedermi la presentzione di Avalon e Indigo fatta da Don Box e Anderson su come sara' la programmazione nell'era di longhorn.&lt;/p&gt;&lt;p&gt;Beh sono rimasto abbastanza stupito delle novita' introdotte e in particolare di XAML e BAML. Quando ho visto che per creare un nuova finestra bastava programmare in un linguaggio molto friendly come lo e' XML beh il tutto mi e' sembrato semplice ma nel contempo molto potente e flessibile.&lt;/p&gt;&lt;p&gt;Addirittura si puo' scegliere l'angolo di rotazione della finestra, o scegliere lo sfondo, che puo' essere anche un file multimediale come un video etc. tutte cose scenografiche si ma il bello viene dopo, quando il tutto si collega agli eventi e puoi controllare il tutto in maniera molto semplice.&lt;/p&gt;&lt;p&gt;in pratica da quello che ho visto la programmazione in generale subira' qualche scossone e soprattutto prevedo che la differenza di approccio tra le applicazioni web e quelle stand alone sara' sempre meno visibile, dando sempre piu' spazio a chi sa programmare e chi ha ben saldo il concetto di &lt;strong&gt;object oriented&lt;/strong&gt;... anche se questa affermazione subira' ulteriori modifiche, infatti si parla gia' di &lt;strong&gt;service oriented&lt;/strong&gt; con un cambio di politica non da poco per un colosso come Microsoft.&lt;/p&gt;&lt;p&gt;ah il bello di tutto e' vedere che utilizzavano qualcosa di molto simile a notepad, e compilavano da riga di comando :)&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post46/Presentazione-Avalon-Indigo.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post46/Presentazione-Avalon-Indigo.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS46.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=46</trackback:ping></item><item><title>XML, Dataset e il metodo ReadXML</title><link>http://blogs.aspitalia.com/linomari/post40/XML-Dataset-Metodo-ReadXML.aspx</link><pubDate>Wed, 29 Oct 2003 18:16:23 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=40' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;ogni tanto mi capitano le cose strane, ma di solito hanno una spiegazione. questa vola la spiegazione non l'ho trovata, o meglio non ho avuto tempo di cercarla:)&lt;/p&gt;&lt;p&gt;il fatto e' questo, volevo leggere un feed RSS, bene che ci vuole? niente, a parte il fatto che il metodo ReadXML del Dataset se trova all'interno dello stesso nodo due tag con lo stesso nome ma con namespace diversi si incazza. ecco un esempio di querllo che dico:&lt;/p&gt;&lt;nodo /&gt;&lt;nodo /&gt;&lt;nodo /&gt;&lt;nodo /&gt;&lt;p&gt;&amp;lt;nodo&amp;gt;&lt;br /&gt;&amp;lt;titolo&amp;gt;xxx&amp;lt;/titolo&amp;gt;&lt;br /&gt;&amp;lt;autore&amp;gt;xxx&amp;lt;/autore&amp;gt;&lt;br /&gt;&amp;lt;sy:autore&amp;gt;xxx&amp;lt;/sy:autore&amp;gt;&lt;br /&gt;&amp;lt;/nodo&amp;gt;&lt;/p&gt;&lt;p&gt;bene, il Dataset mi ritorna un errore perche' cerca di creare due colonne con lo stesso nome &lt;i&gt;autore&lt;/i&gt; e non calcola minimamente il ns. lo so sono molto ignorante in materia di XML, ma resta il fatto che quello che potevo fare con una bella riga di codice mi tocca farla con un approccio piu' a basso livello :)&lt;/p&gt;&lt;p&gt;per non finire qua' vi dico l'approccio utilizzato, poi magari si potrebbe farne uno &lt;a href="mailto:script@lgiorno"&gt;script@lgiorno&lt;/a&gt; :))&lt;/p&gt;&lt;p&gt;per prima cosa mi sono creato un oggetto &lt;b&gt;DataTable&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Dim objTable As New DataTable(&amp;quot;LMLog&amp;quot;)&lt;br /&gt;Dim objColumn As DataColumn&lt;br /&gt;objcolumn = objTable.Columns.Add(&amp;quot;title&amp;quot;, System.Type.GetType(&amp;quot;System.String&amp;quot;))&lt;br /&gt;objcolumn = objTable.Columns.Add(&amp;quot;description&amp;quot;, System.Type.GetType(&amp;quot;System.String&amp;quot;))&lt;br /&gt;Dim objDr as DataRow&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;poi per accedere alla risorsa XML ho utilizzato &lt;b&gt;XmlDataDocument&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Dim XMLDoc As New XmlDataDocument &lt;br /&gt;XMLDoc.Load(file xml)&lt;br /&gt;Dim Row As XmlNodeList = XMLDoc.GetElementsByTagname(&amp;quot;nodo&amp;quot;)&lt;br /&gt;&lt;br /&gt;poi basta navigare all'interno dei nodi, ricavare i contenuti ed associarli alle colonne del DataTable. non vi dico altro perche' altrimenti non servirebbe piu' fare uno &lt;a href="mailto:script@lgiorno"&gt;script@lgiorno&lt;/a&gt; :))&lt;/p&gt;&lt;p /&gt;&lt;p&gt;per il momento questo script e' in betatest su &lt;a href="http://www.ebow.it/arg/38.aspx"&gt;http://www.ebow.it/arg/38.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/XML/" rel="tag"&gt;XML&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development, XML</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post40/XML-Dataset-Metodo-ReadXML.aspx</guid><slash:comments>1</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post40/XML-Dataset-Metodo-ReadXML.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS40.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=40</trackback:ping></item><item><title>sempre sul worker process :)</title><link>http://blogs.aspitalia.com/linomari/post31/Worker-Process-.aspx</link><pubDate>Mon, 27 Oct 2003 00:00:00 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=31' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;leggendo sempre la documentazione ho scoperto un'altra cosa interessante, che sapevo esistesse, ma non avevo mai approfondito.&lt;/p&gt;&lt;p&gt;Tutti sappiamo che quando richiediamo una pagina dinamica se questa risulta particolarmente lenta la prima cosa che facciamo qul'e'? semplice clicchiamo sul tasto aggiorna... e non dite che non e' vero!!!&lt;/p&gt;&lt;p&gt;beh questo comporta(va) un bel po' di casini, a cominciare dal fatto che per ogni aggiornamento viene creato un nuovo thread di lavoro e anche se non piu' collegato al client che ha effettuato la richiesta, il server continuera' ad elaborarle fino a completare tutti i thread in corso.&lt;/p&gt;&lt;p&gt;con .NET il problema si risolve gia' di default, perche' sempre all'interno del machine.config e sempre all'interno di processModel ovvero:&lt;/p&gt;&lt;p&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;  &amp;lt;system.web&amp;gt;&lt;br /&gt;     &amp;lt;processModel&lt;br /&gt;          enable=&amp;quot;true&amp;quot;&lt;br /&gt;          timeout=&amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;          memoryLimit=&amp;quot;%&amp;quot;&lt;br /&gt;          shutdownTimeout=&amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;     /&amp;gt;&lt;br /&gt;  &amp;lt;/system.web&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;/p&gt;&lt;p&gt;esiste anche l'attributo &lt;em&gt;clientConnectedCheck&lt;/em&gt;, che effettua ad intervalli prestabiliti (5 sec) dei controlli sul client se e' connesso.&lt;/p&gt;&lt;p&gt;da questo controllo, ASP.NET sa il client a quale richiesta sta attendendo un risposta... in questo modo sa che eventuali ulteriori elaborazioni in corso non sono piu' valide e puo' killarle. questo significa maggiore sicurezza nelle prestazioni e maggiore controllo sul server dei processi in corso che in altre tecnologie come ASP non era affatto possibile.&lt;/p&gt;&lt;p /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Off_Topic/" rel="tag"&gt;Off Topic&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development, Off Topic</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post31/Worker-Process-.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post31/Worker-Process-.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS31.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=31</trackback:ping></item><item><title>e si... ecco il primo post</title><link>http://blogs.aspitalia.com/linomari/post30/Si.-Post.aspx</link><pubDate>Fri, 24 Oct 2003 12:43:16 +0100</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=30' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;si e' il primo post come blogger, e forse anche l'ultimo non so, vediamo come va e poi decidiamo :) soprattutto devo fare sempre i conti con il tempo, e non so perche' ma sembra trascorra sempre piu' veloce e non ho piu' risorse per fare tutte le cose che mi interessano!&lt;/p&gt;&lt;p&gt;cmq per iniziare direi che parlare del work process di ASP.NET possa essere in teressante, infatti ieri sera mi sono letto un po' di documentazione sul processo e sulle possibilita' di gestione.&lt;/p&gt;&lt;p&gt;innanzitutto e' utile sapere che il processo esiste per il semplice fatto che gira in un processo diverso da quello del web server, interessante, abbiamo scoperta l'acqua calda :))&lt;/p&gt;&lt;p&gt;la cosa interessante e' che questa cosa e' configurabile, nel senso che possiamo anche attivare il processo in modo trasparente, occero all'interno del processo di IIS, come per le ASP. Anche se non ce ne faremo niente, penso che sia deciamente utile tenerlo fuori.&lt;/p&gt;&lt;p&gt;le cose importanti pero' ci sono... eccole:&lt;/p&gt;&lt;p&gt;il processo per default e' impostato con timeout infinito, ovvero non viene mai riciclato se non intervenendo a manina, ma questa cosa e' configurabile in base a diversi parametri... vediamo di fare il punto in modo sintetico.&lt;/p&gt;&lt;p&gt;all'interno del &lt;em&gt;machie.config&lt;/em&gt; e' possibile indicare alcune proprieta' ecco un esempio:&lt;/p&gt;&lt;p&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;  &amp;lt;system.web&amp;gt;&lt;br /&gt;     &amp;lt;processModel&lt;br /&gt;          enable=&amp;quot;true&amp;quot;&lt;br /&gt;          timeout=&amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;          memoryLimit=&amp;quot;%&amp;quot;&lt;br /&gt;          shutdownTimeout=&amp;quot;hh:mm:ss&amp;quot;&lt;br /&gt;     /&amp;gt;&lt;br /&gt;  &amp;lt;/system.web&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;/p&gt;&lt;p&gt;allora l'attributo &lt;em&gt;enable&lt;/em&gt; indica se attivare il processo all'esterno dell'IIS&lt;/p&gt;&lt;p&gt;&lt;em&gt;timeout&lt;/em&gt; invece indica dopo quanto tempo deve riciclarsi il processo, di default il valore e' &lt;em&gt;infinite &lt;/em&gt;ma se mettiamo un valore del tipo &amp;quot;24:00:00&amp;quot; significa che il lavoro viene riciclato una volta al giorno&lt;/p&gt;&lt;p&gt;&lt;em&gt;memoryLimit&lt;/em&gt; e' importante per un eventuale controllo e un riciclo in base alla percentuale di memoria utilizzata, infatti impostando il valore al &amp;quot;30&amp;quot; e' possibile riciclare il processo quando supera il 30%di memoria fisica utilizzata.&lt;/p&gt;&lt;p&gt;&lt;em&gt;shutdownTimeout&lt;/em&gt; invece ci permette di dare del tempo al processo per terminarsi in modo corretto prima che venga killato forzatamente dal sistema. di base il tempo e' 5 secondi ma puo' essere modificato a piacimento&lt;/p&gt;&lt;p&gt;essitono anche altri parametri, ma non voglio annoiare nessuno, sappiate solo che e' possibile decidere a quale processore relazionare il processo, oppure gestire piu' processi &amp;quot;webGarden&amp;quot;, oppure modificare il nome del processo e cosi' via. magari se vi interessa fatemelo sapere... :)&lt;/p&gt;&lt;p /&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Lino Mari</dc:creator><category>web development</category><guid isPermaLink="true">http://blogs.aspitalia.com/linomari/post30/Si.-Post.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/linomari/post30/Si.-Post.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/linomari/CommentRSS30.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=30</trackback:ping></item></channel></rss>