<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 Framework 2.0</title>
        <link>http://blogs.ugidotnet.org/alexblog/category/.NET Framework 2.0.aspx</link>
        <description>.NET Framework 2.0</description>
        <language>it-IT</language>
        <copyright>Ermanno Goletto</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>Ricavare i path di default per i file di dati e logs in SQL Server 2005</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2008/05/29/92866.aspx</link>
            <description>&lt;p&gt;Una delle impostazioni che possibile fare su un'istanza di SQL Server è quella del percorso di default in cui memorizzare file dati e logs di un nuovo database. Ho fatto diverse ricerca, ma non trovato un modo semplice per ricavare tramite T-SQL tali informazioni.&lt;/p&gt;
&lt;p&gt;A quanto sembra se si modificano tali percorsi questi vengono memorizzati nelle chiavi di registry:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\DefaultData&lt;/font&gt;&lt;/font&gt; &lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\&lt;font face="Arial"&gt;DefaultLog&lt;/font&gt;&lt;/font&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In caso contrario i path è quello specificato durante l'installazione per i File di dati quindi si può pensare di ricavarli dai path dei file mdf e ldf del database master.&lt;/p&gt;
&lt;p&gt;Di seguito uno script T-SQL per ricavare il path di default per i file di dati:&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;USE master&lt;br /&gt;
declare @DefaultData nvarchar(512)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;--Lettura chiave di registry HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\DefaultData&lt;br /&gt;
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE',&lt;br /&gt;
 N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultData',&lt;br /&gt;
 @DefaultData OUTPUT, 'no_output'&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;--Se la chiave di registry non esiste si utilizza il path del file mdf del database master&lt;br /&gt;
IF (@DefaultData IS NULL)&lt;br /&gt;
 BEGIN&lt;br /&gt;
  SELECT  @DefaultData = SUBSTRING(physical_name, 0, CHARINDEX(N'master.mdf', physical_name))&lt;br /&gt;
  FROM sys.database_files&lt;br /&gt;
  WHERE name='master'&lt;br /&gt;
 END&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;--Rimozione eventuale slash finale&lt;br /&gt;
IF ((@DefaultData IS NOT NULL) AND (CHARINDEX(N'\', @DefaultData, len(@DefaultData)) &amp;gt; 0))&lt;br /&gt;
BEGIN&lt;br /&gt;
 SELECT @DefaultData = STUFF (@DefaultData,len(@DefaultData),1,N'')&lt;br /&gt;
END&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;SELECT @DefaultData&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Mentre questo è lo script per ricavare il path di default per i file di log:&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;USE master&lt;br /&gt;
declare @DefaultLog nvarchar(512)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;--Lettura chiave di registry HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\DefaultLog&lt;br /&gt;
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE',&lt;br /&gt;
 N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog',&lt;br /&gt;
 @DefaultLog OUTPUT, 'no_output'&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;--Se la chiave di registry non esiste si utilizza il path&lt;br /&gt;
--del file mdf del database master&lt;br /&gt;
IF (@DefaultLog IS NULL)&lt;br /&gt;
 BEGIN&lt;br /&gt;
  SELECT  @DefaultLog = SUBSTRING(physical_name, 0, CHARINDEX(N'mastlog.ldf', physical_name))&lt;br /&gt;
  FROM sys.database_files&lt;br /&gt;
  WHERE name='mastlog'&lt;br /&gt;
 END&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;--Rimozione eventuale slash finale&lt;br /&gt;
IF ((@DefaultLog IS NOT NULL) AND (CHARINDEX(N'\', @DefaultLog, len(@DefaultLog)) &amp;gt; 0))&lt;br /&gt;
BEGIN&lt;br /&gt;
 SELECT @DefaultLog = STUFF (@DefaultLog,len(@DefaultLog),1,N'')&lt;br /&gt;
END&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;SELECT @DefaultLog&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Se poi occorre usare questi script in un programma .NET il mio consiglio è quello di non inserire lo script nel codice, ma di creare dei file con estensione sql in questo modo Visual Studio visualizzerà lo script evidenziando le parole chiave esattamente come in Management Studio. Quindi aggiungere il file come risorsa in questo modo VS 2005 e sucessivi creeranno una comoda prorietà stringa in My.Resources che conterrà il testo del file. In VS 2003 è possibile impostare il file come Embedded e tramite un po' di codice leggere il contenuto del file:&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;        Dim text As String = String.Empty&lt;br /&gt;
        Dim resource As System.IO.Stream = _&lt;br /&gt;
            System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream( _&lt;br /&gt;
                "&lt;em&gt;&lt;strong&gt;NameSpace.FileName&lt;/strong&gt;&lt;/em&gt;")&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;        Dim reader As New System.IO.StreamReader(resource)&lt;br /&gt;
        text = reader.ReadToEnd()&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;        reader.Close() : reader = Nothing&lt;br /&gt;
        resource.Close() : resource = Nothing&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/92866.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2008/05/29/92866.aspx</guid>
            <pubDate>Thu, 29 May 2008 22:50:39 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2008/05/29/92866.aspx#feedback</comments>
            <slash:comments>29</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/92866.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/92866.aspx</trackback:ping>
        </item>
        <item>
            <title>Inviare mail tramite .NET 1.1 con Exchange 2003 e Exchange 2007</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2008/04/09/92134.aspx</link>
            <description>&lt;p&gt;In questo &lt;a target="_blank" href="http://blogs.ugidotnet.org/AlexBlog/articles/92133.aspx"&gt;articolo&lt;/a&gt; ho raccolto alcune riflessioni su come inviare mail tramite .NET Framework 1.1 e 2.0 utilizzando Exchange 2003 e Exchange 2007 analizzando le differenze relative alla gestione dell'autenticazione in .NET 1.1 e 2.0 e le modifiche apportate in Exchange 2007 rispetto a Exchange 2003.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/92134.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2008/04/09/92134.aspx</guid>
            <pubDate>Wed, 09 Apr 2008 13:15:04 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2008/04/09/92134.aspx#feedback</comments>
            <slash:comments>14</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/92134.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/92134.aspx</trackback:ping>
        </item>
        <item>
            <title>Sincronizzazione Replica SQL Server 2005 per sottoscrizioni Pull</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2008/03/27/91913.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Dopo aver configurato la replica il passo successivo è quello di automatizzare la sincronizzazione delle sottoscrizioni e per farlo vi sono vari modi come ad esempio utilizzare &lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/ms151863.aspx"&gt;Windows Synchronization Manager&lt;/a&gt; (mobsync.exe) che permette l'impostazione della sincronizzazione all'accesso, alla chiusura, durante l'inattività o in modo pianificato.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Se però come, nel mio caso, per eseguire la sincronizzazione è necessario avviare prima una connesione VPN e chiuderla al termine la cosa si complica perchè mobsync consente di gestire la connesione automatica sono per sincronizzazioni pianificate.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Per ovviare è possibile ricorrere ad uno script di questo tipo:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;SET ConnectionName="Nome Connessione RAS"&lt;br /&gt;
SET Publisher=NomeServerPubblicazione&lt;br /&gt;
SET Subscriber=NomeServerSottoscrizione&lt;br /&gt;
SET PublicationDB=NomeDBPubblicazione&lt;br /&gt;
SET SubscriptionDB=NomeDBSottoscrizione&lt;br /&gt;
SET Publication=NomePubblicazione&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;Rem Avvio connessione VPN&lt;br /&gt;
start /w %Systemroot%\System32\Rasphone -d %ConnectionName"&lt;/font&gt;&lt;/p&gt;
&lt;font face="Arial"&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;Rem Avvio Sincronizzazione Replica&lt;br /&gt;
"%ProgramFiles%\Microsoft SQL Server\90\COM\REPLMERG.EXE" -Publication %Publication% -Publisher %Publisher% -Subscriber %Subscriber% -Distributor %Publisher% -PublisherDB %PublicationDB% -SubscriberDB %SubscriptionDB% -PublisherSecurityMode 1 -OutputVerboseLevel 2 -SubscriberSecurityMode 1 -SubscriptionType 1 -DistributorSecurityMode 1 -Validate 3 -ParallelUploadDownload 1&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;REM Arresto connessione VPN&lt;br /&gt;
start /w %Systemroot%\System32\Rasphone -h %ConnectionName"&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Lo script utilizza REPLMERG.EXE che consente per default registra maggiori informazioni sul processo di sincronizzazione rispetto all'esecuzione con mobsync, informazioni visibili tramite il Monitoraggio Replica. Il livello di informazioni è impostabile tramite il parametro HistoryVerboseLevel (per default =2)&lt;/p&gt;
&lt;p&gt;Per ulteriori informazioni si veda:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/ms147839.aspx"&gt;Replication Merge Agent&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/ms152763.aspx"&gt;How to: Monitor Replication Agents from Management Studio (SQL Server Management Studio)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/ms152520.aspx"&gt;How to: Start Replication Monitor (Replication Monitor)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Se è necessario è possibile integrare il proceso di sincronizzazione all'interno di un'applicazione tramite i &lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/ms147890.aspx"&gt;Replication Management Objects (RMO)&lt;/a&gt;.&lt;/p&gt;
&lt;/font&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/91913.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2008/03/27/91913.aspx</guid>
            <pubDate>Thu, 27 Mar 2008 22:31:43 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2008/03/27/91913.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/91913.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/91913.aspx</trackback:ping>
        </item>
        <item>
            <title>SettingsDescriptionAttribute e DefaultSettingValueAttribute</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2008/03/19/91783.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Se in VS 2005 si aggiunge una descrizione ad una setting la proprietà corrispondente nella classe MySettings verrà decorata con l'attributo SettingsDescriptionAttribute, ciò permette di vedere la descrizione nell'intellisense a patto che sia abilitata l'opzione di compilazione Generate XML documentation file.&lt;br /&gt;
Nel caso in cui si imposti un vaolre per la setting la proprietà verrà decorata con l'attributo DefaultSettingValueAttribute.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Gli attributi &lt;/font&gt;&lt;font face="Arial"&gt;SettingsDescriptionAttribute e DefaultSettingValueAttribute però non derivano rispettivamente da DescriptionAttribute e DefaultValueAttribute ciò significa che se si utilizza un propertygrid per visualizzare i settings la descrizione e il valore di default verranno ignorati.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Una possibilità è quella di creare dinamicamente una classe in cui gli attributi SettingsDescriptionAttribute e DefaultSettingValueAttribute vengano sostituiti con DescriptionAttribute e DefaultValueAttribute.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Per un esempio di creazione dinamica di una classe si veda il seguente link:&lt;br /&gt;
&lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/system.reflection.emit.typebuilder.aspx"&gt;http://msdn2.microsoft.com/en-us/library/system.reflection.emit.typebuilder.aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/91783.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2008/03/19/91783.aspx</guid>
            <pubDate>Wed, 19 Mar 2008 20:13:47 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2008/03/19/91783.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/91783.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/91783.aspx</trackback:ping>
        </item>
        <item>
            <title>L'ordine di installazione</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2008/03/07/91556.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Mi era già capitato di vedere altre volte sul alcuni computer che all'apertura della Management Studio 2005 venisse visualizzata una dialog vuota, ebbene oggi mi è capitato su un computer XP SP2 appena installato su cui era stato installato il .NET Framework 2.0, l'installer 3.1, SQL Server 2005 Express with Advanced Services e al termine l'aggiornamento con Microsoft Update per installare hotfix (una novantina) e IE 7. Sul pc così configurato su cui la Management Studio 2005 non dava nessun problema è stato installato il .NET Framework 1.1 e da lì è comparsa la misteriosa dialog che non scompariva neppure disinstallato il .NET Framework 1.1.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;In questi casi applico una regola appresa nell'esperienza sistemistica &lt;strong&gt;installare i package e SP nell'ordine in cui sono stati rilasciati&lt;/strong&gt; (sulle hotfix di solito si può essere meno rigorosi dal punto di vista cronologico).&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Infatti siccome il problema è abbastanza macroscopico da non passare inosservato significa che le cisrcostanze di installazione più comuni non portano al verificarsi del problema. Io steso devo dire di averlo visto un paio di volt, ma si solito nelle mie installazioni il .NET Framework 1.1 è sempre stato installato prima del 2.0.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Quindi ho scelto un punto di ripristino in cui la macchina era ancora pulita (il ripristino non elimina i file dei DB di SQL Server occorre farlo a mano, ma elimina le directory create successivamente) quindi ho seguito questìordine di installazione:&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Microsoft .NET Framework Version 1.1 Redistributable Package (03/04/2003)&lt;br /&gt;
    &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3&amp;amp;displaylang=it"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3&amp;amp;displaylang=it&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Microsoft .NET Framework 1.1 Service Pack 1 (30/08/2004)&lt;br /&gt;
    &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=it&amp;amp;FamilyID=a8f5654f-088e-40b2-bbdb-a83353618b38"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=it&amp;amp;FamilyID=a8f5654f-088e-40b2-bbdb-a83353618b38&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Microsoft .NET Framework versione 2.0 Redistributable Package (22/01/2006)&lt;br /&gt;
    &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=it&amp;amp;FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=it&amp;amp;FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Windows Installer 3.1 Redistributable v2 (02/09/2005)&lt;br /&gt;
    &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=889482FC-5F56-4A38-B838-DE776FD4138C&amp;amp;displaylang=it"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=889482FC-5F56-4A38-B838-DE776FD4138C&amp;amp;displaylang=it&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Microsoft SQL Server 2005 Express Edition with Advanced Services Service Pack 2 (17/02/2007)&lt;br /&gt;
    &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=5B5528B9-13E1-4DB9-A3FC-82116D598C3D&amp;amp;displaylang=it"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=5B5528B9-13E1-4DB9-A3FC-82116D598C3D&amp;amp;displaylang=it&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Microsoft .NET Framework 2.0 Service Pack 1 (19/11/2007)&lt;br /&gt;
    &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=it&amp;amp;FamilyID=79bc3b77-e02c-4ad3-aacf-a7633f706ba5"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=it&amp;amp;FamilyID=79bc3b77-e02c-4ad3-aacf-a7633f706ba5&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Esecuzione di Microsoft Update che oltre alle varie fix installa:&lt;/font&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;font face="Arial"&gt;Windows Internet Explorer 7 per Windows XP SP2 (25/10/2007)&lt;br /&gt;
        &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9ae91ebe-3385-447c-8a30-081805b2f90b&amp;amp;DisplayLang=it"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=9ae91ebe-3385-447c-8a30-081805b2f90b&amp;amp;DisplayLang=it&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
        &lt;li&gt;&lt;font face="Arial"&gt;Aggiornamento della protezione per Windows XP (KB938127) per IE7 (13/08/2007)&lt;br /&gt;
        &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9f5da816-194c-478e-8a96-9421a0c52c9f&amp;amp;DisplayLang=it"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=9f5da816-194c-478e-8a96-9421a0c52c9f&amp;amp;DisplayLang=it&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
        &lt;li&gt;&lt;font face="Arial"&gt;KB928366 per Microsoft .NET Framework 1.1 Service Pack 1 (10/07/2007)&lt;br /&gt;
        &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=281fb2cd-c715-4f05-a01f-0455d2d9ebfb&amp;amp;DisplayLang=it"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=281fb2cd-c715-4f05-a01f-0455d2d9ebfb&amp;amp;DisplayLang=it&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;font face="Arial"&gt;
&lt;p&gt;Con quest'ordine di installazione che rispetta l'ordine di rilascio dei framework e relativi sp non ho più avuto problemi, chiarmente se si utilizza per il deploy strumenti SMS le corrette precedenze di installazione sono già rispettate e questo tipo di problemi non dovrebbero verificarsi.&lt;/p&gt;
&lt;/font&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/91556.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2008/03/07/91556.aspx</guid>
            <pubDate>Fri, 07 Mar 2008 00:18:52 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2008/03/07/91556.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/91556.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/91556.aspx</trackback:ping>
        </item>
        <item>
            <title>Errore Impossibile inizializzare il sistema di configurazione in VS 2005</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2008/01/18/90757.aspx</link>
            <description>&lt;p&gt;Stavo lavorando su un progetto VB.NET in VS 2005 e in particolare operavo sui Settings quando ad un certo punto ha cominciato ad apparirmi sempre l'errore: &lt;br /&gt;
&lt;strong&gt;Impossibile inizializzare il sistema di configurazione&lt;/strong&gt; in VS 2005 anche creando un progetto nuovo, ma con lo stesso nome il problema persisteva probabilmente a causa di uno dei miei esperimenti su Settings.&lt;/p&gt;
&lt;p&gt;Per risolvere il problema ho eliminato le cartelle relative all'applicazione in:&lt;br /&gt;
&lt;strong&gt;C:\Documents and Settings\&lt;em&gt;NomeUtente&lt;/em&gt;\Impostazioni locali\Dati applicazioni\&lt;em&gt;Company&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/90757.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2008/01/18/90757.aspx</guid>
            <pubDate>Fri, 18 Jan 2008 18:01:55 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2008/01/18/90757.aspx#feedback</comments>
            <slash:comments>20</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/90757.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/90757.aspx</trackback:ping>
        </item>
        <item>
            <title>Stampare un'immagine con .NET</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2007/11/08/89553.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Nel caso sia necessario stampare un'immagine rispettando le dimensioni della stessa e posizionandola in modo preciso sulla pagina il .NET Framework offre nativamente tutto ciò che ci serve. Occorre però fare alcune considerazioni sulle unità di misura che mi annoto a mia futura memoria e per eventaule utilità di altri:&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;font face="Arial"&gt; Per comodità si esprimeranno le misure dei margini che utilizzerò per posizionare l'immagine e le dimensioni della stessa in millimetri.&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;L'unità di misura dei margini nell'oggetto DefaultPageSettings sono espresse in centesimi di pollice.&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Oltre ai magini si deve tenere conto anche degli HardMarginX e HardMarginY espressi anch'essi in centesimi di pollice e che rappresentano i magini fisici della stampante. Gli HardMarginX e HardMarginY sono in margini al di sotto di cui non è possibile scendere e se utilizziamo i margini per posizionare l'immagine occorre ricordare che il margine reale e il margine impostao tramite DefaultPageSettings.Margins più HardMarginX per Left e HardMarginY per Top.&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Le dimensioni delle immagini sono date in pixels e dpi (Dots per inch) quindi le dimensioni in pollici saranno Inches = Pixels/DPI che andranno ancora convertite in centesimi di pollice moltilicando per 100.&lt;/font&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Di seguito un banale esempio:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click&lt;br /&gt;
   'Impostazione margini left, right, top, bottom&lt;br /&gt;
   Util.SetMarginInMillimeters(Me.Document.DefaultPageSettings, 15, 15, 20, 20)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;   Me.PrintPreviewDialog.ShowDialog(Me)&lt;br /&gt;
End Sub&lt;/font&gt;&lt;/p&gt;
&lt;font face="Arial"&gt;
&lt;p&gt;Private Sub Document_PrintPage(ByVal sender As Object, _&lt;br /&gt;
          ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles Document.PrintPage&lt;br /&gt;
   'Impostazione stampa di una sola pagina&lt;br /&gt;
   e.HasMorePages = False&lt;/p&gt;
&lt;p&gt;   e.Graphics.DrawImage(My.Resources.Test, _&lt;br /&gt;
      e.MarginBounds.Left, e.MarginBounds.Top, _&lt;br /&gt;
      Util.PixelsToHundredthsOfInch(My.Resources.Test.Width, My.Resources.Test.HorizontalResolution), _&lt;br /&gt;
      Util.PixelsToHundredthsOfInch(My.Resources.Test.Height, My.Resources.Test.VerticalResolution))&lt;br /&gt;
End Sub&lt;/p&gt;
&lt;p&gt;Per l'esempio completo si veda il seguente link: &lt;a href="http://xoomer.alice.it/ermannogoletto/MyLab/TestPrintImageFile.zip"&gt;http://xoomer.alice.it/ermannogoletto/MyLab/TestPrintImageFile.zip&lt;/a&gt;&lt;br /&gt;
(per scaricarlo in caso di problemi tasto destro -&amp;gt; Salva con nome).&lt;/p&gt;
&lt;/font&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/89553.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2007/11/08/89553.aspx</guid>
            <pubDate>Thu, 08 Nov 2007 20:02:08 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2007/11/08/89553.aspx#feedback</comments>
            <slash:comments>9</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/89553.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/89553.aspx</trackback:ping>
        </item>
        <item>
            <title>Section VirtualEarth per MWPSK (My Web Pages Start Kit)</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2007/09/13/88313.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Mi sono cimentato nella realizzazione di una Sezione per MWPSK che mi permettesse di realizzare la funzionalità "Dove &lt;/font&gt;&lt;font face="Arial"&gt;siamo"/"Where we are" presente nella maggior parte siti in modo più dinamico tramite una mappa di Virtual Earth.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;La scelta è caduta su una Section perchè rispetto agli Easy Control permettono di avere dei dati di configurazione che &lt;/font&gt;&lt;font face="Arial"&gt;possono essere poi salvati anche se l'implementazione di una Section è maggiormente complessa rispetto a quella di un Easy &lt;/font&gt;&lt;font face="Arial"&gt;Control. In questo modo però è posiibile dare all'utente la possibilità di configurare la mappa consentendo la possibiltà di &lt;/font&gt;&lt;font face="Arial"&gt;inserire latitudine e longitudine del centro mappa, di definire l'altezza della sezione e opzionalmente di definire zoom, &lt;/font&gt;&lt;font face="Arial"&gt;rendere fissa la mappa, inserire un Pushpin, impostare la metrica e visualizzare la MiniMap.&lt;br /&gt;
Inoltre in questo modo sarà possibile inserire più mappe nel sito e ciò può tornare utile nel caso ad esempio di piccole &lt;/font&gt;&lt;font face="Arial"&gt;attività commerciale con più punti vendita.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Gli Easy Control sono da intersi invece come funzionatà generali senza necessità di configurazione o di persistenza di dati o come &lt;/font&gt;&lt;font face="Arial"&gt;funzionalità specifiche del sito, il vantaggio è che la loro implementazione è meno complessa.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Per approfondire le linee guida per implementare Section e Easy Control si faccia riferimento ai seguenti link:&lt;br /&gt;
http://www.codeplex.com/MyWebPagesStarterKit/Project/FileDownload.aspx?DownloadId=6942&lt;br /&gt;
http://www.codeplex.com/MyWebPagesStarterKit/Project/FileDownload.aspx?DownloadId=15508&lt;br /&gt;
http://www.codeplex.com/MyWebPagesStarterKit/Wiki/View.aspx?title=Additional%20components%20and%20examples&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Implementare una Section VirtualEarth significa di fatto realizzare un controllo che erediata dalla classe del MWPSK &lt;/font&gt;&lt;font face="Arial"&gt;MyWebPagesStarterKit.Controls.SectionControlBaseClass la quale a sua volta eredita da System.Web.UI.UserControl e scrivere &lt;/font&gt;&lt;font face="Arial"&gt;una classe che si occuperà gestire i dati di configurazione ereditata dalla classe MyWebPagesStarterKit.Section.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Per inserire una mappa Virtual Earth all'interno di uno UserControl occorre:&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Aggiungere un div nello UserControl all'interno del quale verrà visualizzata la mappa.&lt;br /&gt;
    Per poter modificare l'altezza della mappa il div sarà a sua volta contenuto all'interno di un panel:&lt;br /&gt;
    &amp;lt;asp:View ID="readonlyView" runat="server"&amp;gt;&lt;br /&gt;
       &amp;lt;asp:Panel ID="panReadonly" runat="server" Height="300px" Width="100%"&amp;gt;&lt;br /&gt;
          &amp;lt;div style="position: relative; width: 100%; height: 100%" id="divMap"&amp;gt;&lt;br /&gt;
          &amp;lt;/div&amp;gt;&lt;br /&gt;
       &amp;lt;/asp:Panel&amp;gt;&lt;br /&gt;
    &amp;lt;/asp:View&amp;gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Aggiungere il meta &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt; nel tag head.&lt;br /&gt;
    Ciò consente la corretta visualizzazione di tutte le mappe, ad esempio, nel caso di una mappa del Giappone i caratteri &lt;/font&gt;&lt;font face="Arial"&gt;giapponesi sarranno visualizati correttamente.&lt;br /&gt;
    Per aggiungere il tag è possibile utilizzare le seguenti istruzioni:&lt;br /&gt;
    System.Web.UI.HtmlControls.HtmlMeta meta = new System.Web.UI.HtmlControls.HtmlMeta();&lt;br /&gt;
    meta.HttpEquiv = "Content-Type";&lt;br /&gt;
    meta.Content = "text/html; charset=utf-8";&lt;br /&gt;
    this.Page.Header.Controls.Add(meta);&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Aggiungere il tag script per l'inclusione delle Api di Virtual Earth:&lt;br /&gt;
    &amp;lt;script src="http://dev.virtualearth.net/mapcontrol/v5/mapcontrol.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    Per aggiungere il tag script include è possibile utilizzare le seguenti istruzioni:&lt;br /&gt;
    if (!this.Page.ClientScript.IsClientScriptIncludeRegistered(this.GetType(),"mapcontrol"))&lt;br /&gt;
      {&lt;br /&gt;
        this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "mapcontrol", &lt;br /&gt;
          "http://dev.virtualearth.net/mapcontrol/v5/mapcontrol.js");&lt;br /&gt;
      }&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Costruire lo script block contenente la funzione LoadMap che richiama la funzione javascript BuildMap contenuta nel file ascx &lt;/font&gt;&lt;font face="Arial"&gt;dello UserControl con i paramentri impostati in sede di configurazione per il redering della mappa all'interno del div.&lt;br /&gt;
    Per aggiungere lo script block è possibile utilizzare le seguenti istruzioni:&lt;br /&gt;
    if (!this.Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "loadmap"))&lt;br /&gt;
      {&lt;br /&gt;
        this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "loadmap",&lt;br /&gt;
          "function LoadMap()\n" +&lt;br /&gt;
          "{\n" +&lt;br /&gt;
          string.Format("BuildMap({0},{1},{2},'{3}',{4},{5},'{6}','{7}');\n",&lt;br /&gt;
            this._section.Latitude,&lt;br /&gt;
            this._section.Longitude,&lt;br /&gt;
            this._section.Zoom,&lt;br /&gt;
            this._section.Unit,&lt;br /&gt;
            this._section.Fixed.ToString().ToLower(),&lt;br /&gt;
            this._section.ShowMiniMap.ToString().ToLower(),&lt;br /&gt;
            this._section.PushpinTitle,&lt;br /&gt;
            this._section.PushpinDescription) +&lt;br /&gt;
            "}",&lt;br /&gt;
          true);&lt;br /&gt;
      }&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Invocare la funzione javascript LoadMap nell'evento onload del body.&lt;br /&gt;
    Occorre chiamare il metodo LoadMap dopo aver completato il caricamento della pagina poiché il caricamento della mappa va a &lt;/font&gt;&lt;font face="Arial"&gt;modificare il DOM e può causare errori nel browser (in particolare con IE7) se le modifiche avvengono prima che tutto il DOM &lt;/font&gt;&lt;font face="Arial"&gt;sia stato caricato.&lt;br /&gt;
    Per aggiungere lo startup script è possibile utilizzare le seguenti istruzioni:&lt;br /&gt;
    if (!this.Page.ClientScript.IsStartupScriptRegistered(this.GetType(), "onload"))&lt;br /&gt;
      {&lt;br /&gt;
        this.Page.ClientScript.RegisterStartupScript(this.GetType(), "onload",&lt;br /&gt;
          "AddOnloadEvent(LoadMap);",&lt;br /&gt;
          true);&lt;br /&gt;
      }&lt;br /&gt;
    La funzione javascript AddOnloadEvent si occupa di aggiungere un event handler all'evento onload del body della pagina che &lt;/font&gt;&lt;font face="Arial"&gt;ospita lo UserControl ed è contenuta nel file ascx dello stesso:&lt;br /&gt;
    function AddOnloadEvent(fnc)&lt;br /&gt;
    {&lt;br /&gt;
      if ( typeof window.addEventListener != "undefined" )&lt;br /&gt;
        // Mozilla&lt;br /&gt;
        window.addEventListener( "load", fnc, false );&lt;br /&gt;
      else if ( typeof window.attachEvent != "undefined" ) {&lt;br /&gt;
        // IE&lt;br /&gt;
        window.attachEvent( "onload", fnc );&lt;br /&gt;
      }&lt;br /&gt;
      else {&lt;br /&gt;
        // Others&lt;br /&gt;
        if ( window.onload != null ) {&lt;br /&gt;
          var oldOnload = window.onload;&lt;br /&gt;
          window.onload = function ( e ) {&lt;br /&gt;
            oldOnload( e );&lt;br /&gt;
            window[fnc]();&lt;br /&gt;
          };&lt;br /&gt;
        }&lt;br /&gt;
        else &lt;br /&gt;
          window.onload = fnc;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;/font&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;font face="Arial"&gt;La Section è disponibile per il download al seguente link:&lt;br /&gt;
http://www.codeplex.com/MyWebPagesStarterKit/WorkItem/View.aspx?WorkItemId=12747&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Ovviamente può ancora essere migliorata in quanto al momento non è localizzata, ma l'interfaccia di configurazione è solo in &lt;/font&gt;&lt;font face="Arial"&gt;lingua inglese e non ho scritto l'help ma ho solo gestito il link ad una sezione #virtualearth-content nel file &lt;/font&gt;&lt;font face="Arial"&gt;quick_guide.html.&lt;br /&gt;
Un'estensione interessante potrebbe essere quella di poter aggiungere più pushpin sulla mappa.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/88313.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2007/09/13/88313.aspx</guid>
            <pubDate>Thu, 13 Sep 2007 01:12:42 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2007/09/13/88313.aspx#feedback</comments>
            <slash:comments>125</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/88313.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/88313.aspx</trackback:ping>
        </item>
        <item>
            <title>String.Format e i valori Boolean</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2007/08/20/87872.aspx</link>
            <description>&lt;p&gt;Leggendo questo &lt;a target="_blank" href="http://blogs.ugidotnet.org/corrado/archive/2003/08/20/779.aspx"&gt;post&lt;/a&gt; di Corrado mi è venuto in mente un modo per formattare i valori booleani partendo dal fatto che CInt(True ) è -1 e CInt(False) è 0:&lt;br /&gt;
&lt;strong&gt;String.Format("Il valore è &lt;font face="Arial"&gt;{0:Falso;Vero}.",CInt(booleanValue))&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/87872.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2007/08/20/87872.aspx</guid>
            <pubDate>Mon, 20 Aug 2007 02:44:03 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2007/08/20/87872.aspx#feedback</comments>
            <slash:comments>12</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/87872.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/87872.aspx</trackback:ping>
        </item>
        <item>
            <title>Microsoft Visual Basic 2005 Power Packs 2.0</title>
            <link>http://blogs.ugidotnet.org/alexblog/archive/2007/08/18/87849.aspx</link>
            <description>&lt;p&gt;E' possibile scaricarlo al seguente &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=92FAA81E-E9C1-432C-8C29-813493A04ECD&amp;amp;displaylang=en "&gt;link&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;em&gt;"Line and Shape controls, PrintForm component, and Printer Compatibility Library&lt;br /&gt;
Microsoft Visual Basic 2005 Power Packs 2.0 includes a new set of Line and Shape controls and updated versions of the two previously released Visual Basic 2005 Power Packs, the PrintForm Component and the Printer Compatibility Library. All three are now included in a single assembly making them even easier to use and redistribute with your application."&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alexblog/aggbug/87849.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ermanno Goletto</dc:creator>
            <guid>http://blogs.ugidotnet.org/alexblog/archive/2007/08/18/87849.aspx</guid>
            <pubDate>Sat, 18 Aug 2007 01:07:16 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/alexblog/archive/2007/08/18/87849.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alexblog/comments/commentRss/87849.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alexblog/services/trackbacks/87849.aspx</trackback:ping>
        </item>
    </channel>
</rss>