Crasch http://blogs.ugidotnet.org/Crasch/Default.aspx Il blog di Carlo Folini it-IT Carlo Folini Subtext Version 2.6.0.0 Crasch http://blogs.ugidotnet.org/images/RSS2Image.gif http://blogs.ugidotnet.org/Crasch/Default.aspx 77 60 Web surfing tool Clipboard http://blogs.ugidotnet.org/Crasch/archive/2007/03/26/73966.aspx <P>Invidioso del <A href="http://feeds.feedburner.com/~r/Systempuntoout/~3/76523614/fastyub-firefox-extension-for-yubnub.html">plugin di Trix</A>&nbsp;per <A href="http://yubnub.org/">YubNub</A>, stavo quasi per iniziare il mio ennesimo progetto per un tool che facesse una cosa simile per ie.</P> <P>Sono incappato in <A href="http://www.optimussw.com/theyrealive/">They're Alive!</A>&nbsp;che una volta selezionata un testo in una pagina web, fornisce un menu da cui &#232; possibile lanciare una nuova finestra del&nbsp;browser con un url creato in base alla selezione.</P> <P>Non &#232; proprio la stessa cosa, ma mi risparmier&#224; qualche nottata ;-)</P> <P>&nbsp;</P><img src="http://blogs.ugidotnet.org/Crasch/aggbug/73966.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2007/03/26/73966.aspx Mon, 26 Mar 2007 22:31:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2007/03/26/73966.aspx#feedback 154 http://blogs.ugidotnet.org/Crasch/comments/commentRss/73966.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/73966.aspx Tip: Usare process explorer per analisi di codice unmanaged http://blogs.ugidotnet.org/Crasch/archive/2007/03/06/72417.aspx <p>Dovendo fare del performance tuning, risulta particolarmente interessante usare il <a href="http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/ProcessExplorer.mspx" target="_blank">process explorer</a>&nbsp;(pe) per verificare lo stack trace dei processi in esecuzione.</p> <p>Selezionando un processo in pe viene aperta una finestra con alcuni tab. Usando il tab Threads viene visualizzata la lista dei thread (ordinabili per nome, CPU e CSwitch).</p> <p>Cliccando su un thread viene visualizzata la stack trace di quel thread in quel momento.</p> <p>Per rendere più leggibile tale stack trace bisogna configurare la directory dove pe ricerca i&nbsp;symbol.</p> <p>Installare&nbsp;l'ultima versione dei <a href="http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx">debugging tools.</a></p> <p>Sotto il menu Options-&gt;Configure Symbols impostare il path delle dbghelp.dll (appena installata)</p> <p>es: C:\Program Files\Debugging Tools for Windows\DbgHelp.dll</p> <p>Configurare il percorso dei simboli. La prima voce è la directory dove risiedono i nostri pdb, la seconda dove ci sono i simboli di windows (che vengono scaricati con i debuggin tools e l'ultima l'url dove andare a ricercare i simboli in caso non siano ancora presenti (se notate dei blocchi del process explorer probabilmente stà scaricando i simboli necessari):</p> <p>es: D:\MyPdbDir;SRV*C:\ProcessExplorerNt\Symbols\SymSrv*http://msdl.microsoft.com/download/symbols</p> <p>Visualizzando lo stack trace è quindi possibile 'a campione' vedere cosa stà facendo il processo in oggetto. Solitamente si nota che una particolare stack trace ricorre più volte, andando quindi ad analizzare il caso riusciremo (si spera) ad ottimizzare quel pezzo di applicazione.</p><img src="http://blogs.ugidotnet.org/Crasch/aggbug/72417.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2007/03/06/72417.aspx Tue, 06 Mar 2007 15:21:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2007/03/06/72417.aspx#feedback 159 http://blogs.ugidotnet.org/Crasch/comments/commentRss/72417.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/72417.aspx [OT] A che pro? Clipboard http://blogs.ugidotnet.org/Crasch/archive/2006/12/01/58292.aspx <P>Ho visto la richiesta dell'obolo a UGI. Non mi sono chiari gli scopi di tale richiesta (giuro).</P> <P>C'&#232; qualcuno che mi pu&#242; illuminare?</P> <P>Carlo</P><img src="http://blogs.ugidotnet.org/Crasch/aggbug/58292.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2006/12/01/58292.aspx Fri, 01 Dec 2006 18:59:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2006/12/01/58292.aspx#feedback 37 http://blogs.ugidotnet.org/Crasch/comments/commentRss/58292.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/58292.aspx Custom Configuration in ASP.NET 2.0: tips .Net http://blogs.ugidotnet.org/Crasch/archive/2006/04/21/39218.aspx <P>Ciao,</P> <P>un paio di tips collegati al post di <A href="http://blogs.ugidotnet.org/lmauri/archive/2006/04/21/39183.aspx">Luca</A></P>Visto che ci ho perso un po' di tempo ....<BR>Per specificare il nome del tag degli elementi all'interno di "actions" nella classe in cui si implementa la collezione "MyActionCollection" bisogna specificare il nome con la propriet&#224; ElementName.<BR>Es. se volessimo mettere un tag "pippo" (evviva la fantasia)<BR><TEXTAREA id=TextArea1 rows=15 cols=100>public sealed class MyActionCollection : ConfigurationElementCollection { protected override ConfigurationElement CreateNewElement() { return new MyAction(); } protected override object GetElementKey(ConfigurationElement element) { return ((MyAction)element).Name; } public override ConfigurationElementCollectionType CollectionType { get { return ConfigurationElementCollectionType.BasicMap; } } protected override string ElementName { get { return "pippo"; } } } </TEXTAREA><BR><BR><BR>Altra chicca poco documentata se vogliamo specificare la configurazione in un file separato definiamo la configSection in maniera usuale, ma al posto di inserire l'xml corrispondente direttamente nel app.config o web.config mettiamo un 'placeholder' con l'attributo configSource che ha come valore il nome del file. <BR>es:<BR><TEXTAREA id=Textarea2 rows=10 cols=100>&lt;?xml version="1.0"?&gt; &lt;configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"&gt; &lt;configSections&gt; &lt;section name="loggingConfiguration" restartOnExternalChanges="true" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging"/&gt; &lt;/configSections&gt; &lt;loggingConfiguration configSource="LoggingConfiguration.config"/&gt; &lt;/configuration&gt; </TEXTAREA><BR><LOGGINGCONFIGURATION configSource="LoggingConfiguration.config" /><BR><BR><img src="http://blogs.ugidotnet.org/Crasch/aggbug/39218.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2006/04/21/39218.aspx Fri, 21 Apr 2006 18:28:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2006/04/21/39218.aspx#feedback 6 http://blogs.ugidotnet.org/Crasch/comments/commentRss/39218.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/39218.aspx .Net Fusion & security .Net http://blogs.ugidotnet.org/Crasch/archive/2006/02/07/34403.aspx <P>Interessante sito per sapere tutto (o quasi) su fusion e security in .Net.</P> <P>Scritto per la 1.1 ha degli aggiornamenti significativi per la 2.0.</P> <P><A href="http://www.grimes.demon.co.uk/workshops/index.htm">http://www.grimes.demon.co.uk/workshops/index.htm</A></P><img src="http://blogs.ugidotnet.org/Crasch/aggbug/34403.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2006/02/07/34403.aspx Tue, 07 Feb 2006 00:32:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2006/02/07/34403.aspx#feedback 3 http://blogs.ugidotnet.org/Crasch/comments/commentRss/34403.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/34403.aspx PDC demo di Pablo Castro su Dataset + fast upload + caching Clipboard http://blogs.ugidotnet.org/Crasch/archive/2006/01/16/33004.aspx <FONT size=2> <P>Dopo un bel po' di tempo Pablo ha pubblicato i demo del PDC (rivisti)</P> <P><A href="http://blogs.msdn.com/dataaccess/archive/2006/01/09/510083.aspx">http://blogs.msdn.com/dataaccess/archive/2006/01/09/510083.aspx</A></P> <P>&nbsp;</P></FONT><img src="http://blogs.ugidotnet.org/Crasch/aggbug/33004.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2006/01/16/33004.aspx Mon, 16 Jan 2006 16:41:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2006/01/16/33004.aspx#feedback 1 http://blogs.ugidotnet.org/Crasch/comments/commentRss/33004.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/33004.aspx Nuova release di RSS Bandit Clipboard http://blogs.ugidotnet.org/Crasch/archive/2005/11/28/30644.aspx Casualmente ho trovato una update (<A href="http://sourceforge.net/project/shownotes.php?release_id=374130&amp;group_id=96589) su">http://sourceforge.net/project/shownotes.php?release_id=374130&amp;group_id=96589) su</A> source forge (purtroppo non c'&#232; come per altri programmi la segnalazione automatica).<img src="http://blogs.ugidotnet.org/Crasch/aggbug/30644.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2005/11/28/30644.aspx Mon, 28 Nov 2005 14:43:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2005/11/28/30644.aspx#feedback 3 http://blogs.ugidotnet.org/Crasch/comments/commentRss/30644.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/30644.aspx Launch event streaming... .Net http://blogs.ugidotnet.org/Crasch/archive/2005/11/07/29387.aspx <P>Sembra che il webcast su</P> <P><A href="http://www.microsoft.com/emea/steveballmerlive/">http://www.microsoft.com/emea/steveballmerlive/</A></P> <P>non &#232; disponibile.</P> <P>Su </P> <P><A href="http://www.microsoft.com/windowsserversystem/applicationplatform/launch2005/keynote.mspx">http://www.microsoft.com/windowsserversystem/applicationplatform/launch2005/keynote.mspx</A></P> <P>sembra (in differita?) disponibile</P><img src="http://blogs.ugidotnet.org/Crasch/aggbug/29387.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2005/11/07/29387.aspx Mon, 07 Nov 2005 19:20:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2005/11/07/29387.aspx#feedback 6 http://blogs.ugidotnet.org/Crasch/comments/commentRss/29387.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/29387.aspx Riflessioni sull'accedere ai servizi tramite un 'router' di messaggio .Net http://blogs.ugidotnet.org/Crasch/archive/2005/10/24/28580.aspx <P>Nelle scorse settimane ho discusso sull'opportunit&#224; o meno di far passare tutte le chiamate al SOS (Service Oriented Server ;-)) attraverso un unico servizio (per intenderci un asmx) che invia il messaggio al servizio corretto in base al contenuto.</P> <P>Venendo da un modo di applicazioni n-tier, questo paradigma non mi &#232; molto congeniale.<BR>Una delle principali problematiche che vedo sono legate alla facilit&#224; con cui uno sviluppatore riesce a 'trovare' i servizi che gli servono per implementare una determinata funzionalit&#224; (tale concetto lo riassumo come discoverability, che mi sembra rendere bene l'idea, ma non &#232; forse neanche inglese!).<BR>Averli in un asmx raggruppati per tipologie coerenti facilita molto in contrasto con doverli andare a ricercare in una qualche sorta di metabase.</P> <P>Chiaramente la strada maestra sarebbe quella di avere un coordinatore (analista?) che scriva della documentazione e degli sviluppatori che la leggano....nessuno &#232; perfetto!</P> <P>L'altra &#232; legata agli strumenti che uno sviluppatore deve avere per creare i&nbsp;contratti. Creare un asmx &#232; banale, creare un sistema per censire i 'contratti' in un metabase &#232; gi&#224; pi&#249; difficile.</P> <P>Ho trovato un articolo di Rocky Lhotka <A href='http://www.theserverside.net/articles/showarticle.tss?id=SOAVersioningCovenant"'>http://www.theserverside.net/articles/showarticle.tss?id=SOAVersioningCovenant"</A> (Barbieri Lorenzo vedi che anch'io mi st&#242; impegnando sulle regole dell'usabilit&#224; specialmente sulla 4 ;-) )<BR>che parla di questi argomenti, che mi ha chiarito un po' le motivazioni di ragionare per covenant (patti) in contrapposizione ai servizi.<BR>Riassumendo e semplificando (da un punto di vista non troppo SOA) dice che anche per i servizi dovrebbero esserci dei meccanismi simili agli overload dei metodi. Questo per semplificare l'estensibilit&#224; dei metodi.<BR>In effetti se cerchiamo di esporre un metodo con degli overload in un asmx viene ritornato un errore quando andiamo a recuperare il wsdl del servizio.</P> <P>Parlando del servizio unico, lui lo sconsiglia proprio per i discorsi di 'discoverability'.<BR>Lhotka dice anche di aver richiesto al team di Indigo il supporto nell'IDE di tali feature....devo ancora riuscire a installare WCF per capire come si relazionano i data contract con questi discorsi.<BR></P><img src="http://blogs.ugidotnet.org/Crasch/aggbug/28580.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2005/10/24/28580.aspx Mon, 24 Oct 2005 00:20:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2005/10/24/28580.aspx#feedback 4 http://blogs.ugidotnet.org/Crasch/comments/commentRss/28580.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/28580.aspx Skin per winform .Net http://blogs.ugidotnet.org/Crasch/archive/2005/10/20/28403.aspx <P>Alcuni prodotti (anche per .net 2.0) per skinning delle winform....</P> <P><A href="http://www.dotnetskin.net/" target=_blank><FONT color=#355ea0>DotNetSkin</FONT></A> </P> <P><A href="http://www.sunisoft.com/irisskin/" target=_blank><FONT color=#355ea0>IrisSkin</FONT></A> </P> <P><A href="http://www.stardock.com/">http://www.stardock.com/</A></P><img src="http://blogs.ugidotnet.org/Crasch/aggbug/28403.aspx" width="1" height="1" /> Carlo Folini http://blogs.ugidotnet.org/Crasch/archive/2005/10/20/28403.aspx Thu, 20 Oct 2005 22:46:00 GMT http://blogs.ugidotnet.org/Crasch/archive/2005/10/20/28403.aspx#feedback 92 http://blogs.ugidotnet.org/Crasch/comments/commentRss/28403.aspx http://blogs.ugidotnet.org/Crasch/services/trackbacks/28403.aspx