<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.arquitecturadesoftware.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>GASP</title><link>http://www.arquitecturadesoftware.org/blogs/default.aspx</link><description>Grupo de Arquitectura de Software Português</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.2)</generator><item><title>MVP Pela Sétima Vez Consecutiva</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx</link><pubDate>Wed, 01 Jul 2009 22:37:43 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:49037</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Ao fim de sete vezes, ainda sinto que é uma honra pertencer a tão ilustre grupo.&lt;/p&gt;  &lt;p&gt;E é com grande satisfação que escrevo esta entrada no novo sítio do &lt;a title="[:: PontoNetPT - .NET em Português(PT) ::]" href="http://pontonetpt.com/" target="_blank"&gt;PontoNetPT&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Pois é, ao fim de muitos testes e tentativas, conseguimos migrar os blogues do PontoNetPT da antiga plataforma para uma plataforma &lt;a title="Community Software by Telligent | Community Server for Enterprise" href="http://communityserver.com/" target="_blank"&gt;Community Server&lt;/a&gt; (gentilmente oferecida pela &lt;a title="Collaboration Software | Enterprise Online Community by Telligent" href="http://telligent.com/" target="_blank"&gt;Telligent&lt;/a&gt;).&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx&amp;amp;;subject=MVP+Pela+S%26%23233%3btima+Vez+Consecutiva" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx&amp;amp;;title=MVP+Pela+S%26%23233%3btima+Vez+Consecutiva" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx&amp;amp;title=MVP+Pela+S%26%23233%3btima+Vez+Consecutiva" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx&amp;amp;;title=MVP+Pela+S%26%23233%3btima+Vez+Consecutiva" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx&amp;amp;;title=MVP+Pela+S%26%23233%3btima+Vez+Consecutiva&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-tima-vez-consecutiva.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=49037" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/MVP/default.aspx">MVP</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Comunidade/default.aspx">Comunidade</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/CommunityServer/default.aspx">CommunityServer</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/PontoNetPT/default.aspx">PontoNetPT</category></item><item><title>Registo Aberto Para O Microsoft Tech•Ed Europe 2009</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx</link><pubDate>Tue, 23 Jun 2009 00:44:07 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:48448</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;div style="width:950px;background-repeat:no-repeat;height:240px;"&gt;   &lt;div style="margin:20px 20px 19px;width:180px;height:199px;"&gt;&lt;a style="width:180px;height:199px;" title="Microsoft Tech•Ed Europe 2009" href="http://www.msteched.com/europe/Public/default.aspx"&gt;&lt;img style="border-bottom-style:none;border-right-style:none;width:180px;border-top-style:none;height:199px;border-left-style:none;" alt="Microsoft Tech•Ed Europe 2009" src="http://www.msteched.com/resources/Content_Files/TechEd_Europe_Blog_L_MVPs.gif" width="180" height="199" /&gt; &lt;/a&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p align="justify"&gt;Está aberto o &lt;a title="Microsoft Tech•Ed Europe 2009 Registration Info" href="http://www.msteched.com/europe/public/registration-info.aspx" target="_blank"&gt;Registo&lt;/a&gt; para o &lt;a title="Microsoft Tech•Ed Europe 2009" href="http://www.msteched.com/europe/Public/default.aspx" target="_blank"&gt;Microsoft Tech•Ed Europe 2009&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Há algumas novidades este ano:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Devio aos pedidos dos participantes ambos eventos (Developer e IT Pro) coexistirão (9-13 Novembro).&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;O sítio web de registo usa &lt;a title="Windows Live™ ID" href="https://accountservices.passport.net/reg.srf?wa=wsignin1.0&amp;amp;rpsnv=10&amp;amp;ct=1244819257&amp;amp;rver=5.0.3265.0&amp;amp;wp=MCMBI&amp;amp;wreply=https%3A//profile.microsoft.com/RegSysProfileCenter/ContactPref.aspx?LCID=1033&amp;amp;cb=Lcid=1033&amp;amp;Brand=microsoft&amp;amp;SubBrand=profile%20center&amp;amp;cru=https%3A//profile.microsoft.com/RegSysProfileCenter/ContactPref.aspx?LCID=1033&amp;amp;id=42814&amp;amp;sl=1&amp;amp;lc=2057" target="_blank"&gt;Windows Live™ ID&lt;/a&gt; para autenticação.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Os preços de registo são baseados numa aproximação por camadas de modo que quanto mais cedo for efectuado o registo, mais barato fica.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Rasões Para Ir Ao Tech·Ed Europe 2009&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p align="left"&gt;Todos podem aprender sobre:&lt;/p&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;p align="left"&gt;&lt;strong&gt;MICROSOFT WINDOWS 7 – O sistema operativo da Microsoft para a próxima geração&lt;/strong&gt;&lt;/p&gt;          &lt;p align="justify"&gt;O &lt;a title="Microsoft Windows" href="http://cli.gs/Microsoft-Windows" target="_blank"&gt;&lt;/a&gt;&lt;a title="Microsoft Windows 7" href="http://cli.gs/Microsoft-Windows-7" target="_blank"&gt;Windows 7&lt;/a&gt;&lt;/a&gt; trás importantes avanços para a produtividade dos utilizadores, segurança e gestão.&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p align="left"&gt;&lt;strong&gt;MICROSOFT OFFICE e novas formas de maximizar a produtividade do negócio&lt;/strong&gt;&lt;/p&gt;          &lt;p align="justify"&gt;O percurso do Office System pode ajudar a instalação, adopção e desenvolvimento de aplicações de produtividade para o negócio.DEVELOPERS CAN LEARN MORE ABOUT:&lt;/p&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p align="left"&gt;Programadores e Arquitectos podem aprender sobre:&lt;/p&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;p align="left"&gt;&lt;strong&gt;Aplicações na &lt;em&gt;cloud&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;          &lt;p align="justify"&gt;Descubram como a Azure™ Services Platform reduz a necessidade de aquisição anticipada de tecnhologia, e permite aos programadores e arquitectos criar, com rapidez e facilidade, aplicações que correm na &lt;em&gt;cloud&lt;/em&gt;.&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p align="left"&gt;&lt;strong&gt;Segurança que ajuda a cortar custos no suporte às aplicações&lt;/strong&gt;&lt;/p&gt;          &lt;p align="justify"&gt;Descubram como a tecnologia Microsoft’s ForeFront pode tornar os ambientes IT seguros com maior rapidez e a escrever código mais seguro e elimiar custos de suporte a aplicações.&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p align="left"&gt;&lt;strong&gt;TRUTH about maximizing deployments and search&lt;/strong&gt;&lt;/p&gt;          &lt;p align="justify"&gt;Descubram como o SharePoint pode ajudar a criar um repositório central, maximizando as instalações e pesquisa e eliminando multiplas versões e mal-entendidos acerca da origem da “verdade” em qualquer project.&lt;/p&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Profissionais de IT podem aprender sobre:&lt;/p&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;p align="left"&gt;&lt;strong&gt;Virtualização que ajuda a podenciar investimentos existentes&lt;/strong&gt;&lt;/p&gt;          &lt;p align="justify"&gt;Obtenham um entendimento profundo das actuais tecnologias de virtualização de baixo custo e como podem ajudar a tirar o maior partido dos investimentos existentes em &lt;em&gt;software&lt;/em&gt; e &lt;em&gt;hardware&lt;/em&gt;.&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p align="left"&gt;&lt;strong&gt;Hospedagem para economias de escala&lt;/strong&gt;&lt;/p&gt;          &lt;p align="justify"&gt;Descubram como tirar partido dos &lt;em&gt;hosted services&lt;/em&gt; Microsoft para ampliar a oferta de comunicações e colaboração dos departamenteos de IT. E baixar os custos de &lt;em&gt;hardware&lt;/em&gt;, gestão e consumo de energia.&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p align="left"&gt;&lt;strong&gt;Unificação para redução de custos e aumento de eficácia&lt;/strong&gt;&lt;/p&gt;          &lt;p align="justify"&gt;Comunicações verdadeiramente unificadas que formam uma infra-estrutura única de comunicações.&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p align="left"&gt;&lt;strong&gt;Maximizar a infrastrutura IT existente para se fazer mais om o que se tem&lt;/strong&gt;&lt;/p&gt;          &lt;p align="justify"&gt;Descubram como tirar o máximo partido da infra-estrutura de IT existente.&lt;/p&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx&amp;amp;;subject=Registo+Aberto+Para+O+Microsoft+Tech%e2%80%a2Ed+Europe+2009" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx&amp;amp;;title=Registo+Aberto+Para+O+Microsoft+Tech%e2%80%a2Ed+Europe+2009" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx&amp;amp;title=Registo+Aberto+Para+O+Microsoft+Tech%e2%80%a2Ed+Europe+2009" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx&amp;amp;;title=Registo+Aberto+Para+O+Microsoft+Tech%e2%80%a2Ed+Europe+2009" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx&amp;amp;;title=Registo+Aberto+Para+O+Microsoft+Tech%e2%80%a2Ed+Europe+2009&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/23/registo-aberto-para-o-microsoft-tech-ed-europe-2009.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=48448" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/TechNet/default.aspx">TechNet</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/TechEd2009/default.aspx">TechEd2009</category></item><item><title>Brincando Com SQL Server CLR Integration – Parte IV (Instalando Em SQL Server 2005)</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx</link><pubDate>Sun, 14 Jun 2009 23:59:45 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:47786</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;DCom tudo desenvolvido e testado em no meu portátil usando o&lt;a title="Microsoft SQL Server" href="http://www.microsoft.com/sqlserver/" target="_blank"&gt;SQL Server&lt;/a&gt; 2008, era o momento de instalar na máquina de testes com SQL Server 2005.&lt;/p&gt;  &lt;p&gt;O primeiro problema que encontrei quando executei:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CREATE ASSEMBLY &lt;/span&gt;[MyAssembly]
&lt;span style="color:blue;"&gt;AUTHORIZATION &lt;/span&gt;[dbo]
&lt;span style="color:blue;"&gt;FROM &lt;/span&gt;&lt;span style="color:red;"&gt;'...\MyAssembly.dll'
&lt;/span&gt;&lt;span style="color:blue;"&gt;WITH PERMISSION_SET &lt;/span&gt;&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:blue;"&gt;SAFE
GO&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;foi:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:red;"&gt;Msg 10327, Level 14, State 1, Line 1
Assembly 'MyAssembly' references assembly 'system.xml.linq, version=3.5.0.0, culture=neutral, publickeytoken=b77a5c561934e089.',
which is not present in the current database.
SQL Server attempted to locate and automatically load the referenced assembly from the same location where referring assembly came from,
but that operation has failed (reason: 2(The system cannot find the file specified.)).
Please load the referenced assembly into the current database and retry your request.&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Parece que o SQL Server 2005 não conhece a &lt;a title="Microsoft .NET" href="http://cli.gs/cligs/Microsoft-NET" target="_blank"&gt;.NET Framework&lt;/a&gt; 3.5. Tinha de carregar as assemblies usadas: &lt;strong&gt;System.Core&lt;/strong&gt; e &lt;strong&gt;System.Linq.Xml&lt;/strong&gt;:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CREATE ASSEMBLY &lt;/span&gt;[System.Core]
&lt;span style="color:blue;"&gt;AUTHORIZATION &lt;/span&gt;[dbo]
&lt;span style="color:blue;"&gt;FROM &lt;/span&gt;&lt;span style="color:red;"&gt;'C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll'
&lt;/span&gt;&lt;span style="color:blue;"&gt;WITH PERMISSION_SET &lt;/span&gt;&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:blue;"&gt;SAFE
GO
&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Mas não é assim tão simples:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:black;"&gt;Warning: The Microsoft .Net frameworks assembly 'system.core, version=3.5.0.0, culture=neutral, publickeytoken=b77a5c561934e089, processorarchitecture=msil.' you are registering is not fully tested in SQL Server hosted environment.&lt;/span&gt;
&lt;span style="color:red;"&gt;Msg 6218, Level 16, State 2, Line 1
CREATE ASSEMBLY for assembly 'System.Core' failed because assembly 'System.Core' failed verification. Check if the referenced assemblies are up-to-date and trusted (for external_access or unsafe) to execute in the database. CLR Verifier error messages if any will follow this message
[ : System.Diagnostics.Eventing.EventProvider::EtwRegister][mdToken=0x600003b][offset 0x0000003D][found Native Int][expected unmanaged pointer] Unexpected type on the stack.
[ : System.Diagnostics.Eventing.EventProvider::EncodeObject][mdToken=0x6000046][offset 0x00000000] Unmanaged pointers are not a verifiable type.
[ : System.Diagnostics.Eventing.EventProvider::WriteMessageEvent][mdToken=0x6000047][offset 0x0000003C][found ref 'System.String'] Expected numeric type on the stack.
[ : System.Diagnostics.Eventing.EventProvider::WriteEvent][mdToken=0x6000049][offset 0x0000012E] Instruction cannot be verified.
[ : System.Diagnostics.Eventing.EventProvider::WriteEvent][mdToken=0x6000049][offset 0x00000030] Instruction cannot be verified.
[ : System.Diagnostics.Eventing.EventProvider::WriteEvent][mdToken=0x600004a][offset 0x0000005F][found ref 'System.String'] Expected numeric type on the stack.
[ : System.Diagnostics.Eventing.EventProvider::WriteEvent][mdToken=0x600004b][offset 0x00000010][found unmanaged pointer][expected unmanaged pointer] Unexpected type on the stack.
[ : System.Diagnostics.Eventing.EventProvider::WriteTransferEvent][mdToken=0x600004c][offset 0x0000007D] Instruction cannot be verified.
[ : System.Diagnostics.Eventing.EventProvider::WriteTransferEvent][mdToken=0x600004c][offset 0x00000309][found Native Int][expected unmanaged pointer] Unexpected type on the stack.
[ : System.Diagnostics.Eventing.EventProvider::WriteTransferEvent][mdToken=0x600004d][offset 0x0000001B][found unmanaged pointer][expected unmanaged pointer] Unexpected type on the stack.
[ : System.Security.Cryptography.CapiNative::ImportSymmetricKey][mdToken=0x60007c2][offset 0x00000071][found address of Byte] Expected numeric type on the stac...&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Bem, carrega-se com &lt;strong&gt;PERMISSION_SET = UNSAFE&lt;/strong&gt;:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CREATE ASSEMBLY &lt;/span&gt;[MyAssembly]
&lt;span style="color:blue;"&gt;AUTHORIZATION &lt;/span&gt;[dbo]
&lt;span style="color:blue;"&gt;FROM &lt;/span&gt;&lt;span style="color:red;"&gt;'...\MyAssembly.dll'
&lt;/span&gt;&lt;span style="color:blue;"&gt;WITH PERMISSION_SET &lt;/span&gt;&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:blue;"&gt;UNSAFE
GO&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;Ainda não:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:black;"&gt;Warning: The Microsoft .Net frameworks assembly 'system.core, version=3.5.0.0, culture=neutral, publickeytoken=b77a5c561934e089, processorarchitecture=msil.' you are registering is not fully tested in SQL Server hosted environment.&lt;/span&gt;
&lt;span style="color:red;"&gt;Msg 10327, Level 14, State 1, Line 1
CREATE ASSEMBLY for assembly 'System.Core' failed because assembly 'System.Core' is not authorized for PERMISSION_SET = UNSAFE.
The assembly is authorized when either of the following is true: the database owner (DBO) has UNSAFE ASSEMBLY permission and the database has the TRUSTWORTHY database property on; or the assembly is signed with a certificate or an asymmetric key that has a corresponding login with UNSAFE ASSEMBLY permission.
If you have restored or attached this database, make sure the database owner is mapped to the correct login on this server.
If not, use sp_changedbowner to fix the problem.&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Mas fácil de resolver:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;ALTER DATABASE &lt;/span&gt;MyDatabase &lt;span style="color:blue;"&gt;SET TRUSTWORTHY ON
GO&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;I finalmente foi possível carregar as assemblies .NET 3.5:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CREATE ASSEMBLY &lt;/span&gt;[System.Core]
&lt;span style="color:blue;"&gt;AUTHORIZATION &lt;/span&gt;[dbo]
&lt;span style="color:blue;"&gt;FROM &lt;/span&gt;&lt;span style="color:red;"&gt;'C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll'
&lt;/span&gt;&lt;span style="color:blue;"&gt;WITH PERMISSION_SET &lt;/span&gt;&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:blue;"&gt;UNSAFE
GO

CREATE ASSEMBLY &lt;/span&gt;[System.Xml.Linq]
&lt;span style="color:blue;"&gt;AUTHORIZATION &lt;/span&gt;[dbo]
&lt;span style="color:blue;"&gt;FROM &lt;/span&gt;&lt;span style="color:red;"&gt;'C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Xml.Linq.dll'
&lt;/span&gt;&lt;span style="color:blue;"&gt;WITH PERMISSION_SET &lt;/span&gt;&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:blue;"&gt;UNSAFE
GO&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Tendo todas as depêndencias carregadas, tentei carregar a minha assembly com &lt;strong&gt;PERMISSION_SET = SAFE&lt;/strong&gt; sem sucesso:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:red;"&gt;Msg 6212, Level 16, State 1, Line 1
CREATE ASSEMBLY failed because method 'ShortPropsToXml' on type 'ShortProps'  in safe assembly 'Esi.SA.Encyclopedia' is storing to a static field.
Storing to a static field is not allowed in safe assemblies.&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Teve de ser com &lt;strong&gt;PERMISSION_SET = UNSAFE&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Depois de ter carregado as assemblies com sucesso, pude finalmente criar as definições &lt;a title="Transact-SQL Overview" href="http://cli.gs/Transact-SQL" target="_blank"&gt;Transact-SQL&lt;/a&gt; das funções (vêr &lt;a title="Brincando Com SQL Server CLR Integration – Parte I" href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx" target="_blank"&gt;Parte I&lt;/a&gt; e &lt;a title="Brincando Com SQL Server CLR Integration – Parte II" href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx" target="_blank"&gt;Part II&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Agora é que os DBAs não vão mesmo deixar-me usar isto. Mas foi divertido fazê-lo.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx&amp;amp;;subject=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+IV+(Instalando+Em+SQL+Server+2005)" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+IV+(Instalando+Em+SQL+Server+2005)" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx&amp;amp;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+IV+(Instalando+Em+SQL+Server+2005)" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+IV+(Instalando+Em+SQL+Server+2005)" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+IV+(Instalando+Em+SQL+Server+2005)&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iv-instalando-em-sql-server-2005.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=47786" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer2005/default.aspx">SQLServer2005</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLCLR/default.aspx">SQLCLR</category></item><item><title>Brincando Com SQL Server CLR Integration – Parte III</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx</link><pubDate>Sun, 14 Jun 2009 23:48:51 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:47782</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Pode-vos ter chamado a atenção o facto de eu ter usado &lt;a title="Language-Integrated Query (LINQ)" href="http://msdn2.microsoft.com/library/bb397926.aspx" target="_blank"&gt;LINQ&lt;/a&gt; nas minhaa últimas entradas de Brincando Com &lt;a title="Microsoft SQL Server" href="http://www.microsoft.com/sqlserver/" target="_blank"&gt;SQL Server&lt;/a&gt; &lt;a title="Overview of CLR Integration " href="http://cli.gs/rDr0Yj" target="_blank"&gt;CLR Integration&lt;/a&gt; (&lt;a title="Brincando Com SQL Server CLR Integration – Parte I" href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx" target="_blank"&gt;Parte I&lt;/a&gt;, &lt;a title="Brincando Com SQL Server CLR Integration – Parte II" href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx" target="_blank"&gt;Part II&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Não o consegui de imediato usando o projecto 2008 SQL CLR do &lt;a title="Microsoft Visual Studio" href="http://cli.gs/vstudio" target="_blank"&gt;Visual Studio&lt;/a&gt;. Alterar a &lt;strong&gt;Target Framework&lt;/strong&gt; para &lt;a title=".NET Framework" href="http://cli.gs/netframework" target="_blank"&gt;&lt;/a&gt;&lt;a title="Microsoft .NET" href="http://cli.gs/cligs/Microsoft-NET" target="_blank"&gt;.NET Framework&lt;/a&gt; 3.5&lt;/a&gt; não foi suficiente. Foi necessário também editar o ficheiro &lt;strong&gt;.csproj&lt;/strong&gt;:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a31515;"&gt;xml &lt;/span&gt;&lt;span style="color:red;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;encoding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;utf-8&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;?&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Project &lt;/span&gt;&lt;span style="color:red;"&gt;ToolsVersion&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;3.5&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;DefaultTargets&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Build&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;http://schemas.microsoft.com/developer/msbuild/2003&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;
&lt;span style="color:blue;"&gt;  &amp;lt;!—&lt;/span&gt;&lt;span style="color:green;"&gt; ... &lt;span style="color:blue;"&gt;--&lt;/span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;  &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ItemGroup&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&lt;span style="color:blue;"&gt;!—&lt;/span&gt;&lt;span style="color:green;"&gt; ... &lt;span style="color:blue;"&gt;--&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;strong&gt;    &amp;lt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color:#a31515;"&gt;Reference &lt;/span&gt;&lt;span style="color:red;"&gt;Include&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;System.Core&lt;/span&gt;&amp;quot;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:blue;"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RequiredTargetFramework&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;3.5&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RequiredTargetFramework&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Reference&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;span style="color:blue;"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Reference &lt;/span&gt;&lt;span style="color:red;"&gt;Include&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;System.Xml.Linq&lt;/span&gt;&amp;quot;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:blue;"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RequiredTargetFramework&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;3.5&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RequiredTargetFramework&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Reference&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;&amp;gt;&lt;/strong&gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ItemGroup&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;span style="color:blue;"&gt;  &amp;lt;&lt;span style="color:blue;"&gt;!—&lt;/span&gt;&lt;span style="color:green;"&gt; ... &lt;span style="color:blue;"&gt;--&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Project&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx&amp;amp;;subject=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+III" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+III" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx&amp;amp;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+III" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+III" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+III&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-iii.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=47782" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer2008/default.aspx">SQLServer2008</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer2005/default.aspx">SQLServer2005</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLCLR/default.aspx">SQLCLR</category></item><item><title>Brincando Com SQL Server CLR Integration – Parte II</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx</link><pubDate>Sun, 14 Jun 2009 23:40:49 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:47780</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>2</slash:comments><description>&lt;p align="justify"&gt;Na minha última &lt;a title="Brincando Com SQL Server CLR Integration – Parte I" href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx" target="_blank"&gt;entrada&lt;/a&gt;, mostrei como converter um saco de propriedades armazenado como texto numa tabela usando um &lt;a title="CLR Table-Valued Functions" href="http://cli.gs/DGRt9u" target="_blank"&gt;CLR Table-Valued Function&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Comecei a pensar que podia obter o valor das propriedades, mas não os podia alterar ou acrescentar novas propriedades.&lt;/p&gt;  &lt;p align="justify"&gt;Passar uma tabela como parâmetro ainda não é possível em &lt;a title="Microsoft SQL Server" href="http://www.microsoft.com/sqlserver/" target="_blank"&gt;SQL Server&lt;/a&gt; 2005, que seria a plataforma alvo.&lt;/p&gt;  &lt;p align="justify"&gt;Poderia criar funções para Criar, Actualizar e Apagar propriedades.&lt;/p&gt;  &lt;p align="justify"&gt;Ou poderia usar XML. Tudo o que seria necessário era criar uma &lt;a title="CLR Scalar-Valued Functions" href="http://cli.gs/ySuXMU" target="_blank"&gt;CLR Scalar-Valued Function&lt;/a&gt; para converter o saco de propriedades numa representação em XML e outra para converter o XML de volta para o formato do saco de propriedades.&lt;/p&gt;  &lt;p align="justify"&gt;Ainda tenho de carregar todo o saco de propriedades para uma variável se quiser fazer alguma alteração, mas pode ser usado em SQL Server 2005.&lt;/p&gt;  &lt;p align="justify"&gt;Converter o saco de propriedades para um documento XML pode ser feito usando o enumerador desenvolvido anteriormente:&lt;/p&gt;  &lt;pre class="code"&gt;[Microsoft.SqlServer.Server.&lt;span style="color:#2b91af;"&gt;SqlFunction&lt;/span&gt;(
    Name = &lt;span style="color:#a31515;"&gt;&amp;quot;ShortPropsToXml&amp;quot;&lt;/span&gt;,
    IsDeterministic = &lt;span style="color:blue;"&gt;true&lt;/span&gt;,
    IsPrecise = &lt;span style="color:blue;"&gt;false&lt;/span&gt;,
    DataAccess = &lt;span style="color:#2b91af;"&gt;DataAccessKind&lt;/span&gt;.None,
    SystemDataAccess = &lt;span style="color:#2b91af;"&gt;SystemDataAccessKind&lt;/span&gt;.None)]
&lt;span style="color:blue;"&gt;public static &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlXml &lt;/span&gt;ShortPropsToXml(&lt;span style="color:blue;"&gt;string &lt;/span&gt;shortPropsText)
{
    &lt;span style="color:blue;"&gt;var &lt;/span&gt;xml = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;ShortProps&amp;quot;&lt;/span&gt;,
        &lt;span style="color:blue;"&gt;from &lt;/span&gt;shortProp &lt;span style="color:blue;"&gt;in &lt;/span&gt;ShortPropsEnumerable(shortPropsText)
        &lt;span style="color:blue;"&gt;select new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;p&amp;quot;&lt;/span&gt;,
            &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;n&amp;quot;&lt;/span&gt;, shortProp.Key),
            &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;XCData&lt;/span&gt;(shortProp.Value)));

    &lt;span style="color:blue;"&gt;using &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;buffer = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MemoryStream&lt;/span&gt;())
    {
        &lt;span style="color:blue;"&gt;using &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;xmlWriter = &lt;span style="color:#2b91af;"&gt;XmlWriter&lt;/span&gt;.Create(buffer, &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;XmlWriterSettings &lt;/span&gt;{ CheckCharacters = &lt;span style="color:blue;"&gt;false &lt;/span&gt;}))
        {
            xml.WriteTo(xmlWriter);
        }

        buffer.Position = 0;

        &lt;span style="color:blue;"&gt;using &lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;XmlReader &lt;/span&gt;xmlReader = &lt;span style="color:#2b91af;"&gt;XmlReader&lt;/span&gt;.Create(buffer, &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;XmlReaderSettings &lt;/span&gt;{ CheckCharacters = &lt;span style="color:blue;"&gt;false &lt;/span&gt;}))
        {
            &lt;span style="color:blue;"&gt;return new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlXml&lt;/span&gt;(xmlReader);
        }
    }
}&lt;/pre&gt;

&lt;p align="justify"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Converter o documento XML de volta ao formato do saco de propriedades também é fácil:&lt;/p&gt;

&lt;pre class="code"&gt;[Microsoft.SqlServer.Server.&lt;span style="color:#2b91af;"&gt;SqlFunction&lt;/span&gt;(
    Name = &lt;span style="color:#a31515;"&gt;&amp;quot;XmlToShortProps&amp;quot;&lt;/span&gt;,
    IsDeterministic = &lt;span style="color:blue;"&gt;true&lt;/span&gt;,
    IsPrecise = &lt;span style="color:blue;"&gt;false&lt;/span&gt;,
    DataAccess = &lt;span style="color:#2b91af;"&gt;DataAccessKind&lt;/span&gt;.None,
    SystemDataAccess = &lt;span style="color:#2b91af;"&gt;SystemDataAccessKind&lt;/span&gt;.None)]
&lt;span style="color:blue;"&gt;public static &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlChars &lt;/span&gt;XmlToShortProps(&lt;span style="color:#2b91af;"&gt;SqlXml &lt;/span&gt;shortPropsXml)
{
    &lt;span style="color:blue;"&gt;var &lt;/span&gt;xml = &lt;span style="color:#2b91af;"&gt;XDocument&lt;/span&gt;.Parse(shortPropsXml.Value);

    &lt;span style="color:blue;"&gt;var &lt;/span&gt;textBuilder = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();
    &lt;span style="color:blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;item &lt;span style="color:blue;"&gt;in &lt;/span&gt;xml.Document.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;ShortProps&amp;quot;&lt;/span&gt;).Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;p&amp;quot;&lt;/span&gt;))
    {
        textBuilder.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;[[[{1}]]]{0}{2}{0}&amp;quot;&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;Environment&lt;/span&gt;.NewLine, item.Attribute(&lt;span style="color:#a31515;"&gt;&amp;quot;n&amp;quot;&lt;/span&gt;).Value, item.Value);
    }

    &lt;span style="color:blue;"&gt;return new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlChars&lt;/span&gt;(textBuilder.ToString().ToCharArray());
}&lt;/pre&gt;

&lt;p align="justify"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Agora é só actualizar a assembly na base de dados:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;ALTER ASSEMBLY &lt;/span&gt;[MyAssembly]
&lt;span style="color:blue;"&gt;FROM &lt;/span&gt;&lt;span style="color:red;"&gt;'...\MyAssembly.dll'
&lt;/span&gt;&lt;span style="color:blue;"&gt;GO&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Definir as Scalar-Valued Functions em &lt;a title="Transact-SQL Overview" href="http://cli.gs/Transact-SQL" target="_blank"&gt;Transact-SQL&lt;/a&gt;:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CREATE FUNCTION &lt;/span&gt;[dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShortPropsToXml]&lt;span style="color:gray;"&gt;(&lt;/span&gt;@shortPropsText [nvarchar]&lt;span style="color:gray;"&gt;(&lt;/span&gt;4000&lt;span style="color:gray;"&gt;))
&lt;/span&gt;&lt;span style="color:blue;"&gt;RETURNS &lt;/span&gt;[xml] &lt;span style="color:blue;"&gt;WITH EXECUTE AS CALLER
AS 
EXTERNAL &lt;/span&gt;NAME [Esi.SA.Encyclopedia]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShortProps]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShortPropsToXml]
&lt;span style="color:blue;"&gt;GO
&lt;/span&gt;
&lt;span style="color:blue;"&gt;CREATE FUNCTION &lt;/span&gt;[dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[XmlToShortProps]&lt;span style="color:gray;"&gt;(&lt;/span&gt;@shortPropsXml [xml]&lt;span style="color:gray;"&gt;)
&lt;/span&gt;&lt;span style="color:blue;"&gt;RETURNS &lt;/span&gt;[nvarchar]&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:magenta;"&gt;max&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;WITH EXECUTE AS CALLER
AS 
EXTERNAL &lt;/span&gt;NAME [Esi.SA.Encyclopedia]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShortProps]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[XmlToShortProps]
&lt;span style="color:blue;"&gt;GO
&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;E está pronto para ser usado.&lt;/p&gt;

&lt;p align="justify"&gt;Agora, dada esta definição do saco de propriedades:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;declare &lt;/span&gt;@text &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:magenta;"&gt;max&lt;/span&gt;&lt;span style="color:gray;"&gt;)=&lt;/span&gt;&lt;span style="color:red;"&gt;'[[[name1]]]
value1
[[[name2]]]
value2
[[[name3]]]
value3
'
&lt;/span&gt;&lt;/pre&gt;

&lt;p align="justify"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Posso convertê-lo em XML:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;DECLARE &lt;/span&gt;@xml [xml] &lt;span style="color:gray;"&gt;= &lt;/span&gt;dbo&lt;span style="color:gray;"&gt;.&lt;/span&gt;ShortPropsToXml&lt;span style="color:gray;"&gt;(&lt;/span&gt;@text&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;/pre&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;div align="justify"&gt;Alterar o valor de uma propriedade: &lt;/div&gt;

    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;set &lt;/span&gt;@xml&lt;span style="color:gray;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;modify&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'replace value of (/ShortProps/p[@n=&amp;quot;name2&amp;quot;]/text())[1] with &amp;quot;new value2&amp;quot;'&lt;/span&gt;&lt;span style="color:gray;"&gt;)
&lt;/span&gt;&lt;/pre&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;Inserir uma nova propriedade: &lt;/div&gt;

    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;set &lt;/span&gt;@xml&lt;span style="color:gray;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;modify&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'insert &amp;lt;p n=&amp;quot;name4&amp;quot;&amp;gt;Value4.1
Value4.2&amp;lt;/p&amp;gt; after (/ShortProps/p[@n=&amp;quot;name2&amp;quot;])[1]'&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;/pre&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;Apagar uma propriedade:&lt;/div&gt;

    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;set &lt;/span&gt;@xml&lt;span style="color:gray;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;modify&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'delete (/ShortProps/p[@n=&amp;quot;name3&amp;quot;])[1]'&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;/pre&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;E converter de volta para o formato de saco de propriedades:&lt;/div&gt;

    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;print &lt;/span&gt;dbo&lt;span style="color:gray;"&gt;.&lt;/span&gt;XmlToShortProps&lt;span style="color:gray;"&gt;(&lt;/span&gt;@xml&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;/pre&gt;
    &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

    &lt;pre class="code"&gt;[[[name1]]]
value1
[[[name2]]]
new value2
[[[name4]]]
Value4.1
Value4.2&lt;/pre&gt;
    &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;div align="justify"&gt;Consultar como se fosse uma tabela: &lt;/div&gt;

    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;select &lt;/span&gt;T&lt;span style="color:gray;"&gt;.&lt;/span&gt;C&lt;span style="color:gray;"&gt;.&lt;/span&gt;value&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'./@n'&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;span style="color:red;"&gt;'nvarchar(max)'&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;as &lt;/span&gt;Name&lt;span style="color:gray;"&gt;, &lt;/span&gt;T&lt;span style="color:gray;"&gt;.&lt;/span&gt;C&lt;span style="color:gray;"&gt;.&lt;/span&gt;value&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'.'&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;span style="color:red;"&gt;'nvarchar(max)'&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;as &lt;/span&gt;Value &lt;span style="color:blue;"&gt;from &lt;/span&gt;@xml&lt;span style="color:gray;"&gt;.&lt;/span&gt;nodes&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'/ShortProps/p'&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;T&lt;span style="color:gray;"&gt;(&lt;/span&gt;C&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;/pre&gt;

    &lt;table style="border-bottom:black thin solid;border-left:black thin solid;border-top:black thin solid;border-right:black thin solid;"&gt;
        &lt;tr&gt;
          &lt;th style="border-bottom:black thin solid;border-left:black thin solid;border-top:black thin solid;border-right:black thin solid;"&gt;Name&lt;/th&gt;

          &lt;th style="border-bottom:black thin solid;border-left:black thin solid;border-top:black thin solid;border-right:black thin solid;"&gt;Value&lt;/th&gt;
        &lt;/tr&gt;

        &lt;tr&gt;
          &lt;td style="border-bottom:black thin solid;border-left:black thin solid;border-top:black thin solid;border-right:black thin solid;"&gt;name1&lt;/td&gt;

          &lt;td style="border-bottom:black thin solid;border-left:black thin solid;border-top:black thin solid;border-right:black thin solid;"&gt;value1&lt;/td&gt;
        &lt;/tr&gt;

        &lt;tr&gt;
          &lt;td style="border-bottom:black thin solid;border-left:black thin solid;border-top:black thin solid;border-right:black thin solid;"&gt;name2&lt;/td&gt;

          &lt;td style="border-bottom:black thin solid;border-left:black thin solid;border-top:black thin solid;border-right:black thin solid;"&gt;new value2&lt;/td&gt;
        &lt;/tr&gt;

        &lt;tr&gt;
          &lt;td style="border-bottom:black thin solid;border-left:black thin solid;border-top:black thin solid;border-right:black thin solid;"&gt;name4&lt;/td&gt;

          &lt;td style="border-bottom:black thin solid;border-left:black thin solid;border-top:black thin solid;border-right:black thin solid;"&gt;Value4.1 
            &lt;br /&gt;Value4.2&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p align="justify"&gt;Infelizmente, a aplicação usa caracteres que são inválidos para o SQL Server como caracteres XML e não posso usar estas funções.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx&amp;amp;;subject=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+II" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+II" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx&amp;amp;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+II" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+II" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+II&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-ii.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=47780" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer2008/default.aspx">SQLServer2008</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer2005/default.aspx">SQLServer2005</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLCLR/default.aspx">SQLCLR</category></item><item><title>Brincando Com SQL Server CLR Integration – Parte I</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx</link><pubDate>Sun, 14 Jun 2009 23:04:42 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:47776</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>3</slash:comments><description>&lt;p align="justify"&gt;Actualmente, estou a trabalhar com uma aplicação que armazena propriedades num saco num coluna &lt;a title="Microsoft SQL Server" href="http://www.microsoft.com/sqlserver/" target="_blank"&gt;SQL Server&lt;/a&gt;, no seguinte formato:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:black;"&gt;[[[name1]]]
value1
[[[name2]]]
value2.1
value2.2
[[[name3]]]
value3&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;Não me perguntem porque o fizeram assim, Apenas fizeram.&lt;/p&gt;

&lt;p align="justify"&gt;A aplicação descodifica este saco para as suas estruturas internas e tudo funciona bem.&lt;/p&gt;

&lt;p align="justify"&gt;Mas algumas vezes eu gostava de efectuar algumas consultas directamente à base de dados ou extraír alguns relatórios incluindo essas propriedaes e não posso.&lt;/p&gt;

&lt;p align="justify"&gt;Então pensei que este seria um bom caso de uso para a SQL Server &lt;a title="Overview of CLR Integration" href="http://cli.gs/rDr0Yj" target="_blank"&gt;CLR Integration&lt;/a&gt;. Decidi criar uma &lt;a title="CLR Table-Valued Functions" href="http://cli.gs/DGRt9u" target="_blank"&gt;CLR Table-Valued Function&lt;/a&gt; que me retornasse o saco de propriedades como uma tabela com duas colunas.&lt;/p&gt;

&lt;p align="justify"&gt;Descodificar o texto do saco de propriedades pode ser facilmente alcançado usando uma simples expressão regular:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;(
        &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;@&amp;quot;(?&amp;lt;Name&amp;gt;(?&amp;lt;=\[\[\[).*(?=\]\]\]{0}))\]\]\]{0}(?&amp;lt;Value&amp;gt;(([\s\S]*?(?={0}\[\[\[))|([\s\S]*?(?={0}$))))&amp;quot;&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;Environment&lt;/span&gt;.NewLine),
        &lt;span style="color:#2b91af;"&gt;RegexOptions&lt;/span&gt;.Multiline | &lt;span style="color:#2b91af;"&gt;RegexOptions&lt;/span&gt;.ExplicitCapture | &lt;span style="color:#2b91af;"&gt;RegexOptions&lt;/span&gt;.CultureInvariant | &lt;span style="color:#2b91af;"&gt;RegexOptions&lt;/span&gt;.Compiled);&lt;/pre&gt;

&lt;p align="justify"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;O &lt;a title="Ultrapico&amp;#39;s Expresso" href="http://cli.gs/Ultrapico-Expresso" target="_blank"&gt;Expresso&lt;/a&gt; da &lt;a title="Ultrapico" href="http://cli.gs/Ultrapico" target="_blank"&gt;Ultrapico&lt;/a&gt; foi uma grande ajuda para criar esta expressão regular.&lt;/p&gt;

&lt;p align="justify"&gt;Para quem não sabe, a forma como uma CLR Table-Valued Function é implementada é usando um método inicial que recebe os parâmetros de entrada e retorna um IEnumerable e um método que recebe os itens do enumerador e retorna, como parâmetros de saída, as células da linha correspondente.&lt;/p&gt;

&lt;p align="justify"&gt;Como se tratam de pares nome-valor do tipo string, decidi usar instÂncias de &lt;a title="KeyValuePair&amp;lt;(Of &amp;lt;(TKey, TValue&amp;gt;)&amp;gt;) Structure" href="http://msdn.microsoft.com/library/5tbh8a42.aspx" target="_blank"&gt;)&amp;gt;) Structure&amp;quot; href=&amp;quot;http://msdn.microsoft.com/library/5tbh8a42.aspx&amp;quot; target=_blank&amp;gt;KeyValuePair&lt;/a&gt;&amp;lt;string, string&amp;gt; para armazenar os itens e o construír o enumerador foi tão simples como:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;private static &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;KeyValuePair&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;, &lt;span style="color:blue;"&gt;string&lt;/span&gt;&amp;gt;&amp;gt; ShortPropsEnumerable(&lt;span style="color:blue;"&gt;string &lt;/span&gt;shortPropsText)
{
    &lt;span style="color:blue;"&gt;return from &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Match &lt;/span&gt;m &lt;span style="color:blue;"&gt;in &lt;/span&gt;shortPropsRegex.Matches(shortPropsText)
           &lt;span style="color:blue;"&gt;select new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;KeyValuePair&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;, &lt;span style="color:blue;"&gt;string&lt;/span&gt;&amp;gt;(m.Groups[&lt;span style="color:#a31515;"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;].Value, m.Groups[&lt;span style="color:#a31515;"&gt;&amp;quot;Value&amp;quot;&lt;/span&gt;].Value);
}&lt;/pre&gt;

&lt;p align="justify"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;E a implementação da CLR Table-Valued Function foi tão simples como: &lt;/p&gt;

&lt;pre class="code"&gt;[Microsoft.SqlServer.Server.&lt;span style="color:#2b91af;"&gt;SqlFunction&lt;/span&gt;(
    Name = &lt;span style="color:#a31515;"&gt;&amp;quot;ShortPropsToTable&amp;quot;&lt;/span&gt;,
    FillRowMethodName = &lt;span style="color:#a31515;"&gt;&amp;quot;ShortPropsToTableFillRow&amp;quot;&lt;/span&gt;,
    TableDefinition = &lt;span style="color:#a31515;"&gt;&amp;quot;Name NVARCHAR(4000), Value NVARCHAR(4000)&amp;quot;&lt;/span&gt;,
    IsDeterministic = &lt;span style="color:blue;"&gt;true&lt;/span&gt;,
    IsPrecise = &lt;span style="color:blue;"&gt;false&lt;/span&gt;,
    DataAccess = &lt;span style="color:#2b91af;"&gt;DataAccessKind&lt;/span&gt;.None,
    SystemDataAccess = &lt;span style="color:#2b91af;"&gt;SystemDataAccessKind&lt;/span&gt;.None)]
&lt;span style="color:blue;"&gt;public static &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;IEnumerable &lt;/span&gt;ShortPropsToTable(&lt;span style="color:blue;"&gt;string &lt;/span&gt;shortPropsText)
{
    &lt;span style="color:blue;"&gt;return &lt;/span&gt;ShortPropsEnumerable(shortPropsText);
}

&lt;span style="color:blue;"&gt;public static void &lt;/span&gt;ShortPropsToTableFillRow(&lt;span style="color:blue;"&gt;object &lt;/span&gt;item, &lt;span style="color:blue;"&gt;out &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlChars &lt;/span&gt;name, &lt;span style="color:blue;"&gt;out &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlChars &lt;/span&gt;value)
{
    &lt;span style="color:#2b91af;"&gt;KeyValuePair&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;, &lt;span style="color:blue;"&gt;string&lt;/span&gt;&amp;gt; shortProp = (&lt;span style="color:#2b91af;"&gt;KeyValuePair&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;, &lt;span style="color:blue;"&gt;string&lt;/span&gt;&amp;gt;)item;

    name = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlChars&lt;/span&gt;(shortProp.Key);
    value = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlChars&lt;/span&gt;(shortProp.Value);
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;Para usar esta função numa base de dados SQL Server são necessários alguns passos:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;div align="justify"&gt;Carregar a assembly a base de dados: &lt;/div&gt;

    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CREATE ASSEMBLY &lt;/span&gt;[MyAssembly]
&lt;span style="color:blue;"&gt;AUTHORIZATION &lt;/span&gt;[dbo]
&lt;span style="color:blue;"&gt;FROM &lt;/span&gt;&lt;span style="color:red;"&gt;'...\MyAssembly.dll'
&lt;/span&gt;&lt;span style="color:blue;"&gt;WITH PERMISSION_SET &lt;/span&gt;&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:blue;"&gt;SAFE
GO&lt;/span&gt;&lt;/pre&gt;
    &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;Definir a &lt;a title="Table-Valued User-Defined Functions" href="http://cli.gs/GngXhh" target="_blank"&gt;Table-Valued User-Defined Function&lt;/a&gt; em &lt;a title="Transact-SQL Overview" href="http://cli.gs/Transact-SQL" target="_blank"&gt;Transact-SQL&lt;/a&gt;: &lt;/div&gt;

    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;CREATE FUNCTION &lt;/span&gt;[dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShortPropsToTable]&lt;span style="color:gray;"&gt;(&lt;/span&gt;@shortPropsText [nvarchar]&lt;span style="color:gray;"&gt;(&lt;/span&gt;4000&lt;span style="color:gray;"&gt;))
&lt;/span&gt;&lt;span style="color:blue;"&gt;RETURNS  TABLE &lt;/span&gt;&lt;span style="color:gray;"&gt;(
    &lt;/span&gt;[Name] [nvarchar]&lt;span style="color:gray;"&gt;(&lt;/span&gt;4000&lt;span style="color:gray;"&gt;) NULL,
    &lt;/span&gt;[Value] [nvarchar]&lt;span style="color:gray;"&gt;(&lt;/span&gt;4000&lt;span style="color:gray;"&gt;) NULL
) &lt;/span&gt;&lt;span style="color:blue;"&gt;WITH EXECUTE AS CALLER
AS 
EXTERNAL &lt;/span&gt;NAME [MyAssembly]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShortProps]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShortPropsToTable]
&lt;span style="color:blue;"&gt;GO
&lt;/span&gt;&lt;/pre&gt;
    &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;Habilitar a CLR Integration: &lt;/div&gt;

    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;EXEC &lt;/span&gt;&lt;span style="color:maroon;"&gt;sp_configure &lt;/span&gt;&lt;span style="color:red;"&gt;'clr enabled'&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;1
&lt;span style="color:blue;"&gt;GO
RECONFIGURE
GO&lt;/span&gt;&lt;/pre&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p align="justify"&gt;E está pronto a usar.&lt;/p&gt;

&lt;p align="justify"&gt;Agora posso fazer consultas ao saco de propriedaes como se fosse uma tabela:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;SELECT
    &lt;/span&gt;e&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ID]&lt;span style="color:gray;"&gt;,
    &lt;/span&gt;e&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Name]&lt;span style="color:gray;"&gt;,
    &lt;/span&gt;e&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Class]&lt;span style="color:gray;"&gt;,
    &lt;/span&gt;e&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Type]&lt;span style="color:gray;"&gt;,
    &lt;/span&gt;p&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Name]&lt;span style="color:gray;"&gt;,
    &lt;/span&gt;p&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Value]
&lt;span style="color:blue;"&gt;FROM
    &lt;/span&gt;dbo&lt;span style="color:gray;"&gt;.&lt;/span&gt;Entity &lt;span style="color:blue;"&gt;as &lt;/span&gt;e
    &lt;span style="color:gray;"&gt;CROSS APPLY &lt;/span&gt;dbo&lt;span style="color:gray;"&gt;.&lt;/span&gt;ShortPropsToTable&lt;span style="color:gray;"&gt;(&lt;/span&gt;e&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShortProps]&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;as &lt;/span&gt;p&lt;/pre&gt;

&lt;p align="justify"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Apenas como curiosidade, para um pouco mais de 50000 linhas (que podem ser obtidas em cerca de 1 segundo no meu laptop), obtive um pouco menos de 630000 propriedades em menos de 40 segundos.&lt;/p&gt;

&lt;p align="justify"&gt;40 segundos podem parece muito quando comparados com 1 segundo, mas gostava de ver&amp;#160; tempos melhores usando T-SQL. E desenvolver e testar a TVF em apenas um par de horas.&lt;/p&gt;

&lt;p align="justify"&gt;Se ao menos os DBAs me deixassem usar isto. CLR Integration não está conforme a “política de segurança” da empresa.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx&amp;amp;;subject=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+I" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+I" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx&amp;amp;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+I" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+I" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx&amp;amp;;title=Brincando+Com+SQL+Server+CLR+Integration+%e2%80%93+Parte+I&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/15/brincando-com-sql-server-clr-integration-parte-i.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=47776" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer2008/default.aspx">SQLServer2008</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer2005/default.aspx">SQLServer2005</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLCLR/default.aspx">SQLCLR</category></item><item><title>Salvo Pelo Microsoft URL Rewrite Module 1.1 Para O IIS 7</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx</link><pubDate>Mon, 01 Jun 2009 00:17:25 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:47085</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;p align="justify"&gt;Estamos a migrar a comunidade &lt;a title="[:: PontoNetPT - .NET em Português(PT) ::]" href="http://www.pontonetpt.com/" target="_blank"&gt;PontoNetPT&lt;/a&gt; de uma versão antigado .TEXT para a última versão do &lt;a title="Community Software by Telligent" href="http://communityserver.com/" target="_blank"&gt;Community Server&lt;/a&gt; (CS).&lt;/p&gt;  &lt;p align="justify"&gt;Porque o &lt;strong&gt;PontoNetPT&lt;/strong&gt; tem cerca de 200 blogues com sei lá quantas entradas, comentários, referências, etc., estamos a usar a &lt;a title="Community Server API - Extending the platform just got easier..." href="http://api.communityserver.com/" target="_blank"&gt;Community Server REST API&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;O probelma com o uso desta API é que não cria a pasta que o CS pode ser configurasdo para criar com um ficheiro default.aspx para cada blogue que é criado através a sua consola de administração.&lt;/p&gt;  &lt;p align="justify"&gt;A importância desta pasta e ficheiro é fazer com que o &lt;a title="IIS.net : The Official Microsoft IIS Site" href="http://www.iis.net/" target="_blank"&gt;IIS&lt;/a&gt; possa tratar os pedidos a &lt;strong&gt;http://&amp;lt;your community&amp;gt;/blogs/&amp;lt;your blog&amp;gt;&lt;/strong&gt; ou &lt;strong&gt;http://&amp;lt;your community&amp;gt;/blogs/&amp;lt;your blog&amp;gt;/&lt;/strong&gt; como se fossem pedidos a &lt;strong&gt;http://&amp;lt;your community&amp;gt;/blogs/&amp;lt;your blog&amp;gt;/default.aspx&lt;/strong&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Felizmente, estamos a correr em &lt;a title="Microsoft Windows Server 2008" href="http://cli.gs/Microsoft-Windows-Server-2008" target="_blank"&gt;Windows 2008&lt;/a&gt; e IIS 7 e tudo o que foi necessário foi instalar o &lt;a title="Microsoft URL Rewrite Module 1.1 For IIS 7" href="http://cli.gs/Microsoft-IIS7-URL-Rewrite-Module" target="_blank"&gt;Microsoft URL Rewrite Module 1.1 For IIS 7&lt;/a&gt; e configurá-lo:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
  &amp;lt;!--&lt;/span&gt;&lt;span style="color:green;"&gt;...&lt;/span&gt;&lt;span style="color:blue;"&gt;--&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.webServer&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;!--&lt;/span&gt;&lt;span style="color:green;"&gt;...&lt;/span&gt;&lt;span style="color:blue;"&gt;--&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;rewrite&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;rules&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;rule &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Add Default.aspx to blog root URLs&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;stopProcessing&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;false&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;match &lt;/span&gt;&lt;span style="color:red;"&gt;url&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;^blogs/([^/]*)(/?)$&lt;/span&gt;&amp;quot; &lt;span style="color:blue;"&gt;/&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;action &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Rewrite&lt;/span&gt;&amp;quot; &lt;span style="color:red;"&gt;url&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;blogs/{R:1}/Default.aspx&lt;/span&gt;&amp;quot; &lt;span style="color:blue;"&gt;/&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;rule&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;rules&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;rewrite&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;!--&lt;/span&gt;&lt;span style="color:green;"&gt;...&lt;/span&gt;&lt;span style="color:blue;"&gt;--&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.webServer&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
  &amp;lt;!--&lt;/span&gt;&lt;span style="color:green;"&gt;...&lt;/span&gt;&lt;span style="color:blue;"&gt;--&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx&amp;amp;;subject=Salvo+Pelo+Microsoft+URL+Rewrite+Module+1.1+Para+O+IIS+7" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx&amp;amp;;title=Salvo+Pelo+Microsoft+URL+Rewrite+Module+1.1+Para+O+IIS+7" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx&amp;amp;title=Salvo+Pelo+Microsoft+URL+Rewrite+Module+1.1+Para+O+IIS+7" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx&amp;amp;;title=Salvo+Pelo+Microsoft+URL+Rewrite+Module+1.1+Para+O+IIS+7" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx&amp;amp;;title=Salvo+Pelo+Microsoft+URL+Rewrite+Module+1.1+Para+O+IIS+7&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/06/01/salvo-pelo-microsoft-url-rewrite-module-1-1-para-o-iis-7.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=47085" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/WindowsServer2008/default.aspx">WindowsServer2008</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/CommunityServer/default.aspx">CommunityServer</category></item><item><title>Visual Studio Export Templates and conditional inclusion of content</title><link>http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx</link><pubDate>Sun, 31 May 2009 11:51:31 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:47078</guid><dc:creator>tspascoal</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Visual Studio templates are a great way to give you an head start with code that has a lot of boilerplate code. &lt;/p&gt;  &lt;p&gt;In fact you may already be using project templates withouth knowing. :-) When do option &lt;em&gt;Open New Project&lt;/em&gt; in Visual Studio and select a project type (Windows Application, Console Application,etc) you are in fact selecting the project template that will be used to generate your project skeleton. This project skeleton not only includes some code/data files but it also includes the references to the .Net assemblies that your particular project type needs.&lt;/p&gt;  &lt;p&gt;If you are curious of how out of the box project template looks like you can find them at:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;VS 2005 - %ProgramFiles%\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates &lt;/li&gt;    &lt;li&gt;VS 2008 - %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Visual Studio not only provides you with a great number of project templates out of the box, but you can also write your own project templates&lt;/p&gt;  &lt;p&gt;If you don’t want to spend time writing your project template you can find that a lot of people make them freely available on the net. For example &lt;a href="http://msmvps.com/blogs/vstsblog/"&gt;Team System MVP Neno Loje&lt;/a&gt; created a project template that you can use to kickstart &lt;a href="http://msmvps.com/blogs/vstsblog/archive/2009/01/14/download-visual-studio-2008-project-template-for-tfs-utilities.aspx"&gt;Team System Utilities&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can create your own project by hand (which involves some labor) or you can create your project like you regularly do. Create all the boilerplate code, include all the references,all your content and then use that project as your project template by exporting it to a project template using the Export Template wizard (available in &lt;strong&gt;File-&amp;gt;Export as Template&lt;/strong&gt;)&lt;/p&gt;  &lt;p&gt;I don’t want to get into much details of how you can create project templates. Either by hand or using the export option. There is plenty of information about that already.&lt;/p&gt;  &lt;p&gt;You can read some fine information about it on these articles:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc188697.aspx"&gt;Create Reusable Project And Item Templates For Your Development Team&lt;/a&gt; – What are project/item templates and how you can create them. This should be enough to get you started. Although creating your own wizards it a little bit light. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeproject.com/KB/codegen/Templates.aspx"&gt;Visual Studio 2005 Project And Item Templates&lt;/a&gt; – How to create project/item templates.&amp;#160; The author explains the inner workings of project templates, how you can create them by hand, using the export wizard. It also explains how to include your own wizard and a even how to create an installer for your project template (however this is only needed if your project template has code that needs to by installed in the GAC (eg: your own wizards). If it’s only the template you can get away with the much easier VS Studio Content Installer VSI files) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://badcorporatelogo.spaces.live.com/blog/cns!43EB71B104A2D711!186.entry"&gt;Custom Project Templates for XNA Game Studio 2.0&lt;/a&gt; – Not only explains how to export project templates. But also explains some inner working of project templates by explaining how you can merge two different project templates. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms246580.aspx"&gt;How to: Package Community Components to Use the Visual Studio Content Installer&lt;/a&gt; – How to create a VS content installer file (VSI) to easily install your project templates &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Not to get back to the real intent of this post. :-) Conditional inclusion of content. &lt;/p&gt;  &lt;p&gt;Starting with VS 2008 your project templates can have content that is only included &lt;strong&gt;if a certain condition is met&lt;/strong&gt;. This is a simple IF condition and all you can do is comparing the value of a parameter to a value. &lt;/p&gt;  &lt;p&gt;for this you simple have to use on your template files &lt;strong&gt;$if$ (&amp;lt;expression&amp;gt;) &amp;lt;your content here&amp;gt; $endif$&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For example if your project template allows framework multi targeting you can use this to include references to Framework 3.5&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;$if$ ($targetframeworkversion$ == 3.5)using System.Linq;      &lt;br /&gt;$endif$&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can check &lt;a href="http://www.windowsdevcenter.com/pub/a/windows/2006/10/17/creating-visual-studio-project-templates.html?page=2"&gt;here&lt;/a&gt; the list of parameters that are available out of the box and but you can also reference parameters added in the &lt;strong&gt;CustomParameters &lt;/strong&gt;element or parameters added by your wizard.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Now there is a catch&lt;/strong&gt;. In order to use conditions, your template has to be a template of version 3.0.0 (the template version is defined in &lt;strong&gt;VSTemplate &lt;/strong&gt;element of the .vstemplate file)&lt;/p&gt;  &lt;p&gt;eg: &amp;lt;VSTemplate Version=&amp;quot;3.0.0&amp;quot; Type=&amp;quot;Project&amp;quot; xmlns=&amp;quot;&lt;a href="http://schemas.microsoft.com/developer/vstemplate/2005&amp;quot;"&gt;http://schemas.microsoft.com/developer/vstemplate/2005&amp;quot;&lt;/a&gt;&amp;gt;&lt;/p&gt;  &lt;p&gt;What is the catch then? If you use the export template to create your project template (even in VS 2008) the project template is exported as version 2.0.0 and you have to manually edit the .vstemplate file to use version 3.0.0 if you wish to use the $if$ functionality.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Post Scriptum&lt;/em&gt;: If you think project templates aren’t up to the level of customization you want, you can also use your own wizard in project template. And from that wizard use the VS API to do more complex things on the created project (or/and the solution that is going to hold it). And if that is not enough you can combine it with Software Factories to make it even more powerful.&lt;/p&gt;  &lt;p&gt;[cross posted on &lt;a title="http://www.agilior.pt/blogs/tiago.pascoal/archive/2009/05/31/8094.aspx" href="http://www.agilior.pt/blogs/tiago.pascoal/archive/2009/05/31/8094.aspx"&gt;http://www.agilior.pt/blogs/tiago.pascoal/archive/2009/05/31/8094.aspx&lt;/a&gt;]&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx&amp;amp;;subject=Visual+Studio+Export+Templates+and+conditional+inclusion+of+content" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx&amp;amp;;title=Visual+Studio+Export+Templates+and+conditional+inclusion+of+content" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx&amp;amp;title=Visual+Studio+Export+Templates+and+conditional+inclusion+of+content" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx&amp;amp;;title=Visual+Studio+Export+Templates+and+conditional+inclusion+of+content" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx&amp;amp;;title=Visual+Studio+Export+Templates+and+conditional+inclusion+of+content&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/tiagopascoal/archive/2009/05/31/visual-studio-export-templates-and-conditional-inclusion-of-content.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=47078" width="1" height="1"&gt;</description></item><item><title>Interesting BizTalk links…</title><link>http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx</link><pubDate>Thu, 21 May 2009 12:44:54 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:47018</guid><dc:creator>João Pedro Martins</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://blog.brianloesgen.com/archive/2009/05/18/details-for-version-2.0-of-the-esb-toolkit.aspx" target="_blank"&gt;Details for Version 2.0 of the BizTalk ESB Toolkit&lt;/a&gt; (Brian Loesgen)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2009/05/18/cep_explained_for_biztalk_users.aspx" target="_blank"&gt;Complex-Event Processing (CEP) Explained for BizTalk Users&lt;/a&gt; (Charles Young)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://seroter.wordpress.com/2009/04/02/interview-series-four-questions-with-ewan-fairweather/" target="_blank"&gt;Interview Series: Four Questions With … Ewan Fairweather&lt;/a&gt; (Richard Seroter)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=93d432fe-1370-4b6d-aaa8-a0c43c30f5ab&amp;amp;displaylang=en" target="_blank"&gt;BizTalk Server Best Practices Analyser v1.2&lt;/a&gt; (Released 5/6/2009)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf" target="_blank"&gt;BizTalk Hotrod (Issue 6, April 2009)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Index:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Writing Great BizTalk Applications&lt;/li&gt;    &lt;li&gt;BizTalk Rule Engine, a practical application&lt;/li&gt;    &lt;li&gt;Development Challenges with XML over AS2&lt;/li&gt;    &lt;li&gt;Batching Outbound Messages&lt;/li&gt;    &lt;li&gt;Hierarchical naming convention&lt;/li&gt;    &lt;li&gt;To Be, Or Logical Not To Be&lt;/li&gt;    &lt;li&gt;Enhancing the BizTalk Mapper&lt;/li&gt;    &lt;li&gt;Muenchian Grouping and Sorting in XSLT&lt;/li&gt;    &lt;li&gt;Eliminate BizTalk Admin Problems with Terminator&lt;/li&gt;    &lt;li&gt;Static Code Analysis for BizTalk Using BizTalkCop&lt;/li&gt; &lt;/ul&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx&amp;amp;;subject=Interesting+BizTalk+links%e2%80%a6" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx&amp;amp;;title=Interesting+BizTalk+links%e2%80%a6" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx&amp;amp;title=Interesting+BizTalk+links%e2%80%a6" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx&amp;amp;;title=Interesting+BizTalk+links%e2%80%a6" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx&amp;amp;;title=Interesting+BizTalk+links%e2%80%a6&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/21/interesting-biztalk-links.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=47018" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/BizTalk+Server/default.aspx">BizTalk Server</category><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/Posts+in+English/default.aspx">Posts in English</category></item><item><title>A Typemock Está A Lançar O ASP.NET Bundle – E Oferece Licenças Grátis</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx</link><pubDate>Mon, 18 May 2009 23:19:28 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:47009</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;A &lt;a title="Typemock - Simplify Unit Testing!" href="http://cli.gs/Typemock" target="_blank"&gt;Typemock&lt;/a&gt; está a lançar um novo produto para desenvolvimento em ASP.NET – o &lt;strong&gt;ASP.NET Bundle&lt;/strong&gt; – e para o seu lançamento está a oferecer &lt;strong&gt;licenças GRÁTIS&lt;/strong&gt; aos bloguers e seus leitores.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;O ASP.NET Bundle é a ferramenta fundamental de testes unitários para quem desenvolve em ASP.NET, e é composto pelo Typemock &lt;a title="Typemock Isolator" href="http://cli.gs/TypemockIsolator" target="_blank"&gt;Isolator&lt;/a&gt; e &lt;a title="Ivonna - ASP.NET Unit Testing Tool" href="http://cli.gs/Ivonna" target="_blank"&gt;Ivonna&lt;/a&gt;, o &lt;em&gt;add-on&lt;/em&gt; ASP.NET para o Isolator, a preços especiais.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Oferta de lançamento ASP.NET Bundle:&lt;/strong&gt;     &lt;br /&gt;Para o lançamento do ASP.NET Bundle, a Typemock está a oferecer licenças grátis aos bloguers e seus leitores.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;&lt;strong&gt;E como é que se ganham essas licenças?&lt;/strong&gt;&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Se é um bloguer, &lt;em&gt;webmaster&lt;/em&gt;, ou colunista na internet, pode ganhar uma licença grátis ajudando a Typemock a lançar o seu novo ASP.NET Bundle, a ferramenta fundamental de testes unitários para quem desenvolve em ASP.NET.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Coloquem o texto abaixo no vosso blogue (tal como está, com os &lt;em&gt;links&lt;/em&gt;) e &lt;a href="mailto:asp@typemock.com"&gt;digam-lhes&lt;/a&gt;. Se forem um dos primeiros 60 a enviar o e-mail, ganham uma licença!&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Se tiverem um blogue dedicado a &lt;a title="ASP.NET Developer Center" href="http://msdn.microsoft.com/asp.net/" target="_blank"&gt;ASP.NET&lt;/a&gt;, ganham automaticamente a licença (mesmo que mais de 60 já tenham submetido) durante a primeira semana deste anûncio.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;8 bloguers também ganharão 2 licenças adicionais (cada) para oferecer / sortear pelo seus leitores e amigos.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Os requisitos ão simples:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;      &lt;div align="justify"&gt;Têm de ter um &lt;em&gt;website&lt;/em&gt;, blogue ou coluna na internet, com mais de 2 meses, ou obter permissão do dono.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;      &lt;div align="justify"&gt;A entrada tem de incluír o texto abaixo (incluindo os &lt;em&gt;links&lt;/em&gt;) entre *Início* e *Fim*.&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;&lt;strong&gt;*Início*&lt;/strong&gt;&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p style="text-align:justify;margin-left:20px;"&gt;&lt;a href="http://www.typemock.com/" target="_blank"&gt;Unit Testing&lt;/a&gt; ASP.NET? &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php" target="_blank"&gt;ASP.NET unit testing&lt;/a&gt; has never been this easy.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p style="text-align:justify;margin-left:20px;"&gt;Typemock is launching a new product for ASP.NET developers – the &lt;strong&gt;ASP.NET Bundle&lt;/strong&gt; - and for the launch will be giving out &lt;strong&gt;FREE licenses&lt;/strong&gt; to bloggers and their readers.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p style="text-align:justify;margin-left:20px;"&gt;The ASP.NET Bundle is the ultimate ASP.NET unit testing solution, and offers both &lt;a href="http://www.typemock.com/" target="_blank"&gt;Typemock Isolator&lt;/a&gt;, a &lt;a href="http://www.typemock.com/" target="_blank"&gt;unit test&lt;/a&gt; tool and &lt;a href="http://sm-art.biz/Ivonna.aspx" target="_blank"&gt;Ivonna&lt;/a&gt;, the Isolator add-on for &lt;a href="http://sm-art.biz/Ivonna.aspx" target="_blank"&gt;ASP.NET unit testing&lt;/a&gt;, for a bargain price.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p style="text-align:justify;margin-left:20px;"&gt;Typemock Isolator is a leading &lt;a href="http://www.typemock.com/" target="_blank"&gt;.NET unit testing&lt;/a&gt; tool (C# and VB.NET) for many ‘hard to test’ technologies such as &lt;a href="http://typemock.com/sharepointpage.php" target="_blank"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php" target="_blank"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php" target="_blank"&gt;MVC&lt;/a&gt;, &lt;a href="http://www.typemock.com/wcfpage.php" target="_blank"&gt;WCF&lt;/a&gt;, WPF, &lt;a href="http://www.typemock.com/Silverlight_unit_testing_page.php" target="_blank"&gt;Silverlight&lt;/a&gt; and more. Note that for &lt;a href="http://www.typemock.com/Silverlight_unit_testing_page.php" target="_blank"&gt;unit testing Silverlight&lt;/a&gt; there is an open source Isolator add-on called &lt;a href="http://www.typemock.com/Silverlight_unit_testing_page.php" target="_blank"&gt;SilverUnit&lt;/a&gt;.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p style="text-align:justify;margin-left:20px;"&gt;The first 60 bloggers who will blog this text in their blog and &lt;a href="http://blog.typemock.com/2009/05/get-free-typemock-licenses-aspnet.html" target="_blank"&gt;tell us about it&lt;/a&gt;, will get a Free Isolator ASP.NET Bundle license (Typemock Isolator + Ivonna). If you post this in an ASP.NET &lt;strong&gt;dedicated&lt;/strong&gt; blog, you'll get a license automatically (even if more than 60 submit) during the first week of this announcement.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p style="text-align:justify;margin-left:20px;"&gt;Also 8 bloggers will get an &lt;strong&gt;additional 2 licenses&lt;/strong&gt; (each) to give away to their readers / friends.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p style="text-align:justify;margin-left:20px;"&gt;Go ahead, click the following link for &lt;a href="http://blog.typemock.com/2009/05/get-free-typemock-licenses-aspnet.html" target="_blank"&gt;more information&lt;/a&gt; on how to get your free license.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;&lt;strong&gt;*Fim*&lt;/strong&gt;&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Assim que publicarem a entrada, enviem em e-mail para &lt;a href="mailto:asp@typemock.com"&gt;asp@typemock.com&lt;/a&gt; com o vosso nome e URL da entrada para ganhar a licença grátis.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Não percam tempo – a oferta é limitada aos primeiros 60 bloguers, ou bloguers dedicados a ASP.NET que publicarem na primeira semana.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Sigam o &lt;a title="The Typemock Inseider - The Official Typemock Blog, by the Typemock developers" href="http://cli.gs/TypemockInsiderBlog" target="_blank"&gt;Blog&lt;/a&gt;, &lt;a title="Typemock - Simplify Unit Testing!" href="http://cli.gs/Typemock" target="_blank"&gt;Site&lt;/a&gt; ou &lt;a title="Typemock Twitter" href="http://cli.gs/TypemockTwitter" target="_blank"&gt;Twitter&lt;/a&gt; para actualizações.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;&lt;a title="Unit Test Today! Get Typemock Isolator!" href="http://www.typemock.com/cart.php?p=Commercial&amp;amp;maint=on&amp;amp;quantity=1&amp;amp;referrer=485128" target="_blank"&gt;&lt;img alt="Unit Test Today! Get Typemock Isolator!" src="https://secure.plimus.com//developers//485128/Typemock_button_blue.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx&amp;amp;;subject=A+Typemock+Est%26%23225%3b+A+Lan%26%23231%3bar+O+ASP.NET+Bundle+%e2%80%93+E+Oferece+Licen%26%23231%3bas+Gr%26%23225%3btis" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx&amp;amp;;title=A+Typemock+Est%26%23225%3b+A+Lan%26%23231%3bar+O+ASP.NET+Bundle+%e2%80%93+E+Oferece+Licen%26%23231%3bas+Gr%26%23225%3btis" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx&amp;amp;title=A+Typemock+Est%26%23225%3b+A+Lan%26%23231%3bar+O+ASP.NET+Bundle+%e2%80%93+E+Oferece+Licen%26%23231%3bas+Gr%26%23225%3btis" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx&amp;amp;;title=A+Typemock+Est%26%23225%3b+A+Lan%26%23231%3bar+O+ASP.NET+Bundle+%e2%80%93+E+Oferece+Licen%26%23231%3bas+Gr%26%23225%3btis" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx&amp;amp;;title=A+Typemock+Est%26%23225%3b+A+Lan%26%23231%3bar+O+ASP.NET+Bundle+%e2%80%93+E+Oferece+Licen%26%23231%3bas+Gr%26%23225%3btis&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/19/a-typemock-est-a-lan-ar-o-asp-net-bundle-e-oferece-licen-as-gr-tis.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=47009" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Testes/default.aspx">Testes</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category></item><item><title>Livro LINQ Com C# Já Saíu</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx</link><pubDate>Sun, 17 May 2009 22:37:00 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:46994</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;P align=justify&gt;Finalmente saíu o livro &lt;STRONG&gt;&lt;A title="Livro LINQ Com C#" href="http://cli.gs/Livro-LINQ-Com-Charp" target=_blank&gt;LINQ Com C#&lt;/A&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;/STRONG&gt; que eu e o &lt;A title="Luís Abreu" href="http://cli.gs/LuisAbreu" target=_blank&gt;Luís&lt;/A&gt; escrevemos. Bem, mais ele do que eu.&lt;/P&gt;
&lt;P align=justify&gt;Este livro, editado pela &lt;A title="FCA- Livros de Informática / TI para todos os níveis" href="http://www.fca.pt/" target=_blank&gt;FCA&lt;/A&gt;, destina-se a todos que, conhecendo já a linguagem &lt;A title="Microsoft Visual C#" href="http://cli.gs/vcsharp" target=_blank&gt;C#&lt;/A&gt; 2.0, pretendem aprender as novidades introduzidas no C# 3.0 que levaram à &lt;A title="Language-Integrated Query (LINQ)" href="http://msdn2.microsoft.com/library/bb397926.aspx" target=_blank&gt;LINQ&lt;/A&gt; (Language INtegrated Query). Os exemplos no livro estão em C#, mas no sítio do livro podem ser obtidos os exemplos em &lt;A title="Visual Basic Developer Center" href="http://msdn.microsoft.com/vbasic/" target=_blank&gt;Visual Basic&lt;/A&gt;.&lt;/P&gt;
&lt;DIV&gt;
&lt;TABLE&gt;

&lt;TR&gt;
&lt;TD style="PADDING-RIGHT:10px;" rowSpan=5&gt;&lt;A title="Livro LINQ Com C#" href="http://cli.gs/Livro-LINQ-Com-Charp" target=_blank&gt;&lt;IMG border=0 alt="Livro LINQ Com C#" src="http://www.fca.pt/ximages/722_547.gif"&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD style="TEXT-ALIGN:right;PADDING-RIGHT:10px;"&gt;Título:&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;&lt;A title="Livro LINQ Com C#" href="http://cli.gs/Livro-LINQ-Com-Charp" target=_blank&gt;LINQ Com C#&lt;/A&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="TEXT-ALIGN:right;PADDING-RIGHT:10px;"&gt;Autores:&lt;/TD&gt;
&lt;TD&gt;&lt;A title="Luís Abreu" href="http://cli.gs/LuisAbreu" target=_blank&gt;Luís Abreu&lt;/A&gt; / &lt;A title="Paulo Morgado" href="http://paulomorgado.net/" target=_blank&gt;Paulo Morgado&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="TEXT-ALIGN:right;PADDING-RIGHT:10px;"&gt;ISBN:&lt;/TD&gt;
&lt;TD&gt;978-972-722-547-7&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="TEXT-ALIGN:right;PADDING-RIGHT:10px;"&gt;Número de páginas:&lt;/TD&gt;
&lt;TD&gt;216&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="TEXT-ALIGN:right;PADDING-RIGHT:10px;"&gt;Formato:&lt;/TD&gt;
&lt;TD&gt;17,0 x 24,0 x 1,3 cm&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;P&gt;Tabela de Conteúdos:&lt;/P&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;PREFÁCIO&lt;/P&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;0. INTRODUÇÃO&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;0.1 O que posso encontrar neste livro?&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;0.2 Requisitos&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;0.3 A quem é que este livro é dirigido?&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;0.4 Convenções&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;0.5 Organização do livro&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;0.6 Suporte&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;1. INTRODUÇÃO AO LINQ&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;1.1 Porquê o LINQ&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;1.2 Variantes de LINQ&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;1.3 Vantagens decorrentes da utilização de LINQ&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;2. GENÉRICOS&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;2.1 Os genéricos e o LINQ&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;2.2 Introdução aos genéricos&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;2.3 Classes abertas e fechadas&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;2.4 Utilização de argumentos de tipo&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;2.5 Overloads e overriding de membros de classes genéricas&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;2.6 Definição de constrangimentos&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;3. BLOCOS DE ITERAÇÃO&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;3.1 Introdução aos blocos de iteração&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;3.2 Padrão IEnumerable&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;3.3 Blocos de iteração em C# 2.0&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;3.4 Implementação interna dos blocos de iteração&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;4. FUNÇÕES ANÓNIMAS&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;4.1 Introdução aos métodos anónimos&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;4.2 Expressões Lambda&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;5. VARIÁVEIS IMPLICITAMENTE TIPIFICADAS&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;5.1 Introdução&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;5.2 Arrays&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;6. INICIALIZAÇÃO DE OBJECTOS&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;6.1 Introdução&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;6.2 Inicialização de colecções&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;7. PROPRIEDADES IMPLEMENTADAS AUTOMATICAMENTE&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;7.1 Introdução&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;8. TIPOS ANÓNIMOS&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;8.1 Introdução&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;9.MÉTODOS DE EXTENSÃO&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;9.1 Introdução&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;9.2 Invocação de métodos de extensão&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;10. LINQ TO OBJECTS&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;10.1 Introdução ao LINQ&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;10.2 Contextos LINQ&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;10.3 Introdução ao LINQ To Objects&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;11. LINQ TO XML&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;11.1 Introdução&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;11.2 Utilizando LINQ para pesquisar XML&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;12. LINQ TO SQL&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.1 Introdução&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.2 Estrutura da base de dados&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.3 Entidades&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.4 DataContext&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.5 Utilização de grafos de objectos&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.6 Relacionamentos 1:1&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.7 Relacionamentos 1:N&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.8 Relacionamentos N:M&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.9 Herança de entidades&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.10 Utilização de Stored Procedures&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.11 Invocação de funções&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.12 Actualização de dados&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.13 Criação de base de dados&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.14 Utilização de Logging&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;12.15 Ferramentas auxiliares ao desenvolvimento&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;13. PLINQ&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;13.1 Introdução ao multiprocessamento&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;13.2 Introdução às Parallel Extensions &lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;13.3 Introdução ao PLINQ &lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;13.4 Ordenação de valores &lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;13.5 Limitação do número de threads &lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;13.6 Processamento das expressões de pesquisa &lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;13.7 Tratamento de excepções &lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;14. SEGURANÇA E PROFILES&lt;/P&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;14.1 Opções para expandir o LINQ&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;14.2 O padrão de pesquisa LINQ&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;14.3 LINQ To Live Search&lt;/DIV&gt;
&lt;DIV style="MARGIN-LEFT:80px;"&gt;Resumo&lt;/DIV&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;BIBLIOGRAFIA&lt;/P&gt;
&lt;P style="MARGIN-LEFT:40px;"&gt;ÍNDICE REMISSIVO&lt;/P&gt;
&lt;P align=justify&gt;O livro pode ser encontrado em várias livrarias, algumas com presença na Internet como por exemplo:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title=FCA href="http://cli.gs/Livro-LINQ-Com-Charp" target=_blank&gt;FCA&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A title=WOOK href="http://cli.gs/LYJEVY" target=_blank&gt;WOOK&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A title=fnac href="http://cli.gs/8ApGrH" target=_blank&gt;fnac&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx&amp;amp;;subject=Livro+LINQ+Com+C%23+J%26%23225%3b+Sa%26%23237%3bu" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx&amp;amp;;title=Livro+LINQ+Com+C%23+J%26%23225%3b+Sa%26%23237%3bu" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx&amp;amp;title=Livro+LINQ+Com+C%23+J%26%23225%3b+Sa%26%23237%3bu" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx&amp;amp;;title=Livro+LINQ+Com+C%23+J%26%23225%3b+Sa%26%23237%3bu" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx&amp;amp;;title=Livro+LINQ+Com+C%23+J%26%23225%3b+Sa%26%23237%3bu&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/livro-linq-com-c-j-sa-u.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=46994" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Livros/default.aspx">Livros</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/VisualBasic/default.aspx">VisualBasic</category></item><item><title>Como Visualizar O Caminho Dos Ficheiros Encontrados Pelo Windows Search</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx</link><pubDate>Sun, 17 May 2009 21:10:00 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:46992</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;P align=justify&gt;Ao contrário do que acontecia no &lt;A title="Microsoft Windows XP" href="http://cli.gs/Microsoft-Windows-XP" target=_blank&gt;Windows XP&lt;/A&gt;, no &lt;A title="Microsoft Windows Vista" href="http://cli.gs/Microsoft-Windows-Vista" target=_blank&gt;Windows Vista&lt;/A&gt; e no &lt;A title="Microsoft Windows 7" href="http://cli.gs/Microsoft-Windows-7" target=_blank&gt;Windows 7&lt;/A&gt;, a lista de resultados de pesquisa não contem uma coluna com o caminho do ficheiro encontrado. Em vez disso, tem uma coluna com o formato&amp;nbsp; &lt;STRONG&gt;&amp;lt;nome da paste que contem o ficheiro&amp;gt;(&amp;lt;caminho da pasta que contem o ficheiro&amp;gt;)&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P align=justify&gt;Não sei o porquê desta mudança, só sei que torna muito dificil ordenar os ficheiros encontrado por caminho.&lt;/P&gt;
&lt;P align=justify&gt;Felizmente, a coluna do caminho do ficheiro pode ser adicionada à lista clicando a tecla direita o rato sobre as colunas e seleccionando a coluna correspondente ao caminho da pasta.&lt;/P&gt;
&lt;P align=justify&gt;Infelizmente, não consegui descobrir como tornar esta configuração permanente. Tenho de o fazer para todas as pesquisas.&lt;/P&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx&amp;amp;;subject=Como+Visualizar+O+Caminho+Dos+Ficheiros+Encontrados+Pelo+Windows+Search" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx&amp;amp;;title=Como+Visualizar+O+Caminho+Dos+Ficheiros+Encontrados+Pelo+Windows+Search" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx&amp;amp;title=Como+Visualizar+O+Caminho+Dos+Ficheiros+Encontrados+Pelo+Windows+Search" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx&amp;amp;;title=Como+Visualizar+O+Caminho+Dos+Ficheiros+Encontrados+Pelo+Windows+Search" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx&amp;amp;;title=Como+Visualizar+O+Caminho+Dos+Ficheiros+Encontrados+Pelo+Windows+Search&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/17/como-visualizar-o-caminho-dos-ficheiros-encontrados-pelo-windows-search.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=46992" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Livros/default.aspx">Livros</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/VisualBasic/default.aspx">VisualBasic</category></item><item><title>No Configuration Enterprise Library</title><link>http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx</link><pubDate>Fri, 15 May 2009 11:53:25 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:46983</guid><dc:creator>hgr</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;From time to time I end up starting a new C# project and bumping into the same old infrastructure requirements like exception handling, logging, caching, etc.&lt;/p&gt;  &lt;p&gt;At that point I always get back to Microsoft Enterprise Library... :)&lt;/p&gt;  &lt;p&gt;I really like EntLib but this time I had other requirements that prevented me from having a configuration file.&lt;/p&gt;  &lt;p&gt;So how the heck can you use EntLib without configuration? It turns out that it’s relatively easy but not so well documented, so that even Google had trouble finding me the solution. :)&lt;/p&gt;  &lt;p&gt;I’ll leave it here also for future reference...&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Scenario 1 – No Configuration Caching Block&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Using the caching block with configuration is very simple. You create the configuration and then simply use the CacheFactory to create the manager. Something like this:&lt;/p&gt;  &lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;"&gt;   &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;     &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; ICacheManager productsCache = CacheFactory.GetCacheManager();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; productsCache.Add(product.ProductID, product)&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;To use it without configuration is a little harder.&lt;/p&gt;

&lt;p&gt;First you need to use the CacheManagerFactory to create a factory passing in the configuration settings. Then you use that factory to create the manager.&lt;/p&gt;

&lt;p&gt;The magic happens when you create your own class implementing the IConfigurationSource interface (available in Microsoft.Practices.EnterpriseLibrary.Common).&lt;/p&gt;

&lt;p&gt;The final code is as follows:&lt;/p&gt;

&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;"&gt;
  &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.Caching.Configuration;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; MyApplication&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; CacheServiceConfigurationSource : IConfigurationSource&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Members&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; expirationFrequencyInSeconds;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; maximumElementsBeforeScavenging;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Constructors&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; CacheServiceConfigurationSource()&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  21:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; CacheServiceConfigurationSource(&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; expirationFrequencyInSeconds, &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; maximumElementsBeforeScavenging)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  22:&lt;/span&gt;             : &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;()&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  23:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  24:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.expirationFrequencyInSeconds = expirationFrequencyInSeconds;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  25:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.maximumElementsBeforeScavenging = maximumElementsBeforeScavenging;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  26:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  27:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  28:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  29:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  30:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Public Methods&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  31:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  32:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Add(IConfigurationParameter saveParameter, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName, ConfigurationSection configurationSection)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  33:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  34:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  35:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  36:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddSectionChangeHandler(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName, ConfigurationChangedEventHandler handler)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  37:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  38:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  39:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  40:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; ConfigurationSection GetSection(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  41:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  42:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (sectionName.Equals(&lt;span style="color:#006080;"&gt;&amp;quot;cachingConfiguration&amp;quot;&lt;/span&gt;, StringComparison.CurrentCulture))&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  43:&lt;/span&gt;             {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  44:&lt;/span&gt;                 CacheManagerSettings result = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; CacheManagerSettings();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  45:&lt;/span&gt;                 result.DefaultCacheManager = &lt;span style="color:#006080;"&gt;&amp;quot;DefaultCacheManager&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  46:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  47:&lt;/span&gt;                 CacheStorageData storage = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; CacheStorageData();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  48:&lt;/span&gt;                 storage.StorageEncryption = &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  49:&lt;/span&gt;                 storage.Name = &lt;span style="color:#006080;"&gt;&amp;quot;NullStorage&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  50:&lt;/span&gt;                 storage.Type = &lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(NullBackingStore);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  51:&lt;/span&gt;                 result.BackingStores.Add(storage);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  52:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  53:&lt;/span&gt;                 CacheManagerData manager = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; CacheManagerData();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  54:&lt;/span&gt;                 manager.Name = &lt;span style="color:#006080;"&gt;&amp;quot;DefaultCacheManager&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  55:&lt;/span&gt;                 manager.NumberToRemoveWhenScavenging = 10;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  56:&lt;/span&gt;                 manager.MaximumElementsInCacheBeforeScavenging = &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.maximumElementsBeforeScavenging;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  57:&lt;/span&gt;                 manager.ExpirationPollFrequencyInSeconds = &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.expirationFrequencyInSeconds;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  58:&lt;/span&gt;                 manager.CacheStorage = &lt;span style="color:#006080;"&gt;&amp;quot;NullStorage&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  59:&lt;/span&gt;                 result.CacheManagers.Add(manager);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  60:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  61:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; result;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  62:&lt;/span&gt;             }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  63:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  64:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  65:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  66:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  67:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Remove(IConfigurationParameter removeParameter, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  68:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  69:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  70:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  71:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; RemoveSectionChangeHandler(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName, ConfigurationChangedEventHandler handler)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  72:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  73:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  74:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  75:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  76:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  77:&lt;/span&gt; }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  78:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  79:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  80:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Configuration;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  81:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  82:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.Caching;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  83:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  84:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  85:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; MyApplication&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  86:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  87:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; CacheService&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  88:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  89:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Members&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  90:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  91:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; ICacheManager manager;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  92:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  93:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  94:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  95:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Properties&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  96:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  97:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; ICacheManager Manager&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  98:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  99:&lt;/span&gt;             get&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 100:&lt;/span&gt;             {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 101:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (manager == &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 102:&lt;/span&gt;                 {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 103:&lt;/span&gt;                     CacheManagerFactory factory = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; CacheManagerFactory(&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; CacheServiceConfigurationSource(Context.Current.Settings.Cache.ExpirationFrequencyInSeconds, Context.Current.Settings.Cache.MaximumElementsBeforeScavenging));&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 104:&lt;/span&gt;                     manager = factory.CreateDefault();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 105:&lt;/span&gt;                 }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 106:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 107:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; manager;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 108:&lt;/span&gt;             }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 109:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 110:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 111:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 112:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 113:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Public Methods&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 114:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 115:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddData&amp;lt;T&amp;gt;(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; key, T &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 116:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 117:&lt;/span&gt;             AddData&amp;lt;T&amp;gt;(key, &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;, Context.Current.Settings.Cache.ExpirationTimeInSeconds);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 118:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 119:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 120:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddData&amp;lt;T&amp;gt;(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; key, T &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; expirationInSeconds)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 121:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 122:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// Expiration handler&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 123:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 124:&lt;/span&gt;             SlidingTime expirationHandler = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; SlidingTime(&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; TimeSpan(0, 0, expirationInSeconds), DateTime.Now);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 125:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 126:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// Add it&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 127:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 128:&lt;/span&gt;             Manager.Add(key, &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;, CacheItemPriority.Low, &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;, expirationHandler);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 129:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 130:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 131:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 132:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 133:&lt;/span&gt; }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Notice the GetSection method in CacheServiceConfigurationSource and the Manager property in the CacheService class.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scenario 2 – No Configuration Logging Block&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;The logging application block is similar.&lt;/p&gt;

&lt;p&gt;With configuration you use the Logger class.&lt;/p&gt;

&lt;p&gt;Without configuration you must create a LogWriter using your own IConfigurationSource also.&lt;/p&gt;

&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;"&gt;
  &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Configuration;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.Common.Configuration;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.Logging.Configuration;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.Logging.Formatters;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; MyApplication&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; LoggingConfigurationSource : IConfigurationSource&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Public Methods&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Add(IConfigurationParameter saveParameter, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName, ConfigurationSection configurationSection)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddSectionChangeHandler(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName, ConfigurationChangedEventHandler handler)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  21:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  22:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  23:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; ConfigurationSection GetSection(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  24:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  25:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (sectionName.Equals(&lt;span style="color:#006080;"&gt;&amp;quot;loggingConfiguration&amp;quot;&lt;/span&gt;, StringComparison.CurrentCulture))&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  26:&lt;/span&gt;             {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  27:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Logging configuration&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  28:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  29:&lt;/span&gt;                 LoggingSettings result = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; LoggingSettings();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  30:&lt;/span&gt;                 result.DefaultCategory = &lt;span style="color:#006080;"&gt;&amp;quot;General&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  31:&lt;/span&gt;                 result.TracingEnabled = &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  32:&lt;/span&gt;                 result.LogWarningWhenNoCategoriesMatch = &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  33:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  34:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Listners&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  35:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  36:&lt;/span&gt;                 FormattedEventLogTraceListenerData listener = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; FormattedEventLogTraceListenerData();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  37:&lt;/span&gt;                 listener.Name = &lt;span style="color:#006080;"&gt;&amp;quot;EventLogListener&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  38:&lt;/span&gt;                 listener.Source = &lt;span style="color:#006080;"&gt;&amp;quot;Office Extensions&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  39:&lt;/span&gt;                 listener.Formatter = &lt;span style="color:#006080;"&gt;&amp;quot;TextFormatter&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  40:&lt;/span&gt;                 listener.Log = &lt;span style="color:#006080;"&gt;&amp;quot;MyApplication&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  41:&lt;/span&gt;                 listener.MachineName = &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  42:&lt;/span&gt;                 listener.TraceOutputOptions = System.Diagnostics.TraceOptions.None;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  43:&lt;/span&gt;                 listener.Filter = System.Diagnostics.SourceLevels.All;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  44:&lt;/span&gt;                 listener.ListenerDataType = &lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(FormattedEventLogTraceListenerData);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  45:&lt;/span&gt;                 listener.Type = &lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(FormattedEventLogTraceListener);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  46:&lt;/span&gt;                 result.TraceListeners.Add(listener);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  47:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  48:&lt;/span&gt;                 TraceListenerReferenceData listenerReference = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; TraceListenerReferenceData();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  49:&lt;/span&gt;                 listenerReference.Name = &lt;span style="color:#006080;"&gt;&amp;quot;EventLogListener&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  50:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  51:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Formatters&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  52:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  53:&lt;/span&gt;                 StringBuilder template = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; StringBuilder();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  54:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Timestamp: {timestamp}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  55:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Message: {message}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  56:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Category: {category}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  57:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Priority: {priority}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  58:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;EventId: {eventid}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  59:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Severity: {severity}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  60:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Title:{title}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  61:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Machine: {machine}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  62:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Application Domain: {appDomain}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  63:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Process Id: {processId}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  64:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Process Name: {processName}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  65:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Win32 Thread Id: {win32ThreadId}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  66:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Thread Name: {threadName}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  67:&lt;/span&gt;                 template.AppendLine(&lt;span style="color:#006080;"&gt;&amp;quot;Extended Properties: {dictionary({key} - {value})}&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  68:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  69:&lt;/span&gt;                 TextFormatterData formatter = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; TextFormatterData();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  70:&lt;/span&gt;                 formatter.Name = &lt;span style="color:#006080;"&gt;&amp;quot;TextFormatter&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  71:&lt;/span&gt;                 formatter.Type = &lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(TextFormatter);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  72:&lt;/span&gt;                 formatter.Template = template.ToString();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  73:&lt;/span&gt;                 result.Formatters.Add(formatter);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  74:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  75:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Category Sources&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  76:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  77:&lt;/span&gt;                 TraceSourceData exceptionsSource = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; TraceSourceData();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  78:&lt;/span&gt;                 exceptionsSource.TraceListeners.Add(listenerReference);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  79:&lt;/span&gt;                 exceptionsSource.Name = &lt;span style="color:#006080;"&gt;&amp;quot;Exceptions&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  80:&lt;/span&gt;                 exceptionsSource.DefaultLevel = System.Diagnostics.SourceLevels.All;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  81:&lt;/span&gt;                 result.TraceSources.Add(exceptionsSource);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  82:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  83:&lt;/span&gt;                 TraceSourceData traceSource = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; TraceSourceData();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  84:&lt;/span&gt;                 traceSource.TraceListeners.Add(listenerReference);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  85:&lt;/span&gt;                 traceSource.Name = &lt;span style="color:#006080;"&gt;&amp;quot;Trace&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  86:&lt;/span&gt;                 traceSource.DefaultLevel = System.Diagnostics.SourceLevels.All;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  87:&lt;/span&gt;                 result.TraceSources.Add(traceSource);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  88:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  89:&lt;/span&gt;                 TraceSourceData generalSource = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; TraceSourceData();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  90:&lt;/span&gt;                 generalSource.TraceListeners.Add(listenerReference);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  91:&lt;/span&gt;                 generalSource.Name = &lt;span style="color:#006080;"&gt;&amp;quot;General&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  92:&lt;/span&gt;                 generalSource.DefaultLevel = System.Diagnostics.SourceLevels.All;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  93:&lt;/span&gt;                 result.TraceSources.Add(generalSource);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  94:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  95:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Special Sources&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  96:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  97:&lt;/span&gt;                 result.SpecialTraceSources.AllEventsTraceSource.Name = &lt;span style="color:#006080;"&gt;&amp;quot;AllEvents&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  98:&lt;/span&gt;                 result.SpecialTraceSources.AllEventsTraceSource.DefaultLevel = System.Diagnostics.SourceLevels.All;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  99:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 100:&lt;/span&gt;                 result.SpecialTraceSources.NotProcessedTraceSource.Name = &lt;span style="color:#006080;"&gt;&amp;quot;NotProcessed&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 101:&lt;/span&gt;                 result.SpecialTraceSources.NotProcessedTraceSource.DefaultLevel = System.Diagnostics.SourceLevels.All;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 102:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 103:&lt;/span&gt;                 result.SpecialTraceSources.ErrorsTraceSource.Name = &lt;span style="color:#006080;"&gt;&amp;quot;LoggingErrorsAndWarnings&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 104:&lt;/span&gt;                 result.SpecialTraceSources.ErrorsTraceSource.DefaultLevel = System.Diagnostics.SourceLevels.All;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 105:&lt;/span&gt;                 result.SpecialTraceSources.ErrorsTraceSource.TraceListeners.Clear();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 106:&lt;/span&gt;                 result.SpecialTraceSources.ErrorsTraceSource.TraceListeners.Add(listenerReference);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 107:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 108:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;// Return&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 109:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 110:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; result;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 111:&lt;/span&gt;             }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 112:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 113:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 114:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 115:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 116:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Remove(IConfigurationParameter removeParameter, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 117:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 118:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 119:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 120:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; RemoveSectionChangeHandler(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sectionName, ConfigurationChangedEventHandler handler)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 121:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 122:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 123:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 124:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 125:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 126:&lt;/span&gt; }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 127:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 128:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 129:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Diagnostics;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 130:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Globalization;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 131:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.Logging;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 132:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 133:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; MyApplication&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 134:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 135:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; LoggingHandler&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 136:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 137:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Constants&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 138:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 139:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;const&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; CategoryExceptions = &lt;span style="color:#006080;"&gt;&amp;quot;Exceptions&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 140:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;const&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; PriorityExceptions = 1000;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 141:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;const&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; EventIdExceptions = 1000;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 142:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;const&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; TitleExceptions = &lt;span style="color:#006080;"&gt;&amp;quot;Errors Log&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 143:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;const&lt;/span&gt; TraceEventType SeverityExceptions = TraceEventType.Error;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 144:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 145:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 146:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 147:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Members&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 148:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 149:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; LogWriter writer;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 150:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 151:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 152:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 153:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Properties&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 154:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 155:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; LogWriter Writer&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 156:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 157:&lt;/span&gt;             get&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 158:&lt;/span&gt;             {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 159:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (writer == &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 160:&lt;/span&gt;                 {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 161:&lt;/span&gt;                     writer = CreateWriter();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 162:&lt;/span&gt;                 }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 163:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 164:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; writer;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 165:&lt;/span&gt;             }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 166:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 167:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 168:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 169:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 170:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Public Methods&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 171:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 172:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Exception(Exception ex)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 173:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 174:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// Validation&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 175:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 176:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (ex == &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 177:&lt;/span&gt;             {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 178:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; ArgumentNullException();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 179:&lt;/span&gt;             }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 180:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 181:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// Log&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 182:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 183:&lt;/span&gt;             WriteEntry(CategoryExceptions, TitleExceptions, ex.ToString(), PriorityExceptions, EventIdExceptions, SeverityExceptions);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 184:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 185:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 186:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 187:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 188:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Private Methods&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 189:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 190:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; WriteEntry(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; category, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; title, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; message, &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; priority, &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; eventId, TraceEventType severity)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 191:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 192:&lt;/span&gt;             LogEntry entry = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; LogEntry();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 193:&lt;/span&gt;             entry.Categories.Add(category);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 194:&lt;/span&gt;             entry.TimeStamp = DateTime.Now;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 195:&lt;/span&gt;             entry.EventId = eventId;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 196:&lt;/span&gt;             entry.Message = message;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 197:&lt;/span&gt;             entry.Priority = priority;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 198:&lt;/span&gt;             entry.Severity = severity;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 199:&lt;/span&gt;             entry.Title = title;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 200:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 201:&lt;/span&gt;             Writer.Write(entry);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 202:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 203:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 204:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; LogWriter CreateWriter()&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 205:&lt;/span&gt;         {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 206:&lt;/span&gt;             LogWriterFactory factory = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; LogWriterFactory(&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; LoggingConfigurationSource());&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 207:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; factory.Create();&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 208:&lt;/span&gt;         }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 209:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 210:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 211:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt; 212:&lt;/span&gt; }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;I hope this helps someone in the future.&lt;/p&gt;

&lt;p&gt;It turns out that the greater strength of EntLib – configuration – is also, at least in my opinion, its greater weakness. Just think of how many “real-world applications” would you want to have the user messing with the configuration file to setup event viewer listeners and things like that. :)&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx&amp;amp;;subject=No+Configuration+Enterprise+Library" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx&amp;amp;;title=No+Configuration+Enterprise+Library" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx&amp;amp;title=No+Configuration+Enterprise+Library" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx&amp;amp;;title=No+Configuration+Enterprise+Library" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx&amp;amp;;title=No+Configuration+Enterprise+Library&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2009/05/15/no-configuration-enterprise-library.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=46983" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/tags/Frameworks/default.aspx">Frameworks</category><category domain="http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category></item><item><title>Cloud Computing: recommended Reading</title><link>http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx</link><pubDate>Tue, 12 May 2009 12:43:25 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:46969</guid><dc:creator>João Pedro Martins</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Good information &lt;a href="http://blogs.msdn.com/pathelland/archive/2009/04/10/book-report-on-the-uc-berkeley-paper-above-the-clouds-a-berkeley-view-of-cloud-computing.aspx" target="_blank"&gt;via Pat Helland’s weblog&lt;/a&gt;, on UC Berkeley’s Paper “&lt;em&gt;&lt;a href="http://abovetheclouds.cs.berkeley.edu./" target="_blank"&gt;Above the Clouds: a Berkeley View of Cloud Computing&lt;/a&gt;&lt;/em&gt;”.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx&amp;amp;;subject=Cloud+Computing%3a+recommended+Reading" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx&amp;amp;;title=Cloud+Computing%3a+recommended+Reading" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx&amp;amp;title=Cloud+Computing%3a+recommended+Reading" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx&amp;amp;;title=Cloud+Computing%3a+recommended+Reading" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx&amp;amp;;title=Cloud+Computing%3a+recommended+Reading&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/05/12/cloud-computing-recommended-reading.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=46969" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/Design_2F00_Integration+Patterns/default.aspx">Design/Integration Patterns</category><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/Posts+in+English/default.aspx">Posts in English</category><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/Cloud+computing/default.aspx">Cloud computing</category></item><item><title>Microsoft MSDN Webcasts | Ferramentas de Desenvolvimento [nível 100]</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx</link><pubDate>Sun, 10 May 2009 23:48:07 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:46961</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img style="display:block;float:none;margin-left:auto;margin-right:auto;" src="http://www.microsoft.com/library/media/2070/portugal/msdn/media/tb_devtools.jpg" width="693" height="129" /&gt; &lt;/p&gt;  &lt;p&gt;A &lt;a title="Microsoft Corporation" href="http://www.microsoft.com/" target="_blank"&gt;&lt;/a&gt;&lt;a title="Microsoft Portugal" href="http://www.microsoft.com/portugal/" target="_blank"&gt;Microsoft Portugal&lt;/a&gt;&lt;/a&gt; vai emitir uma série de &lt;b&gt;&lt;em&gt;sessões webcasts&lt;/em&gt;&lt;/b&gt; para quem pretenda dar início a uma carreira, acrescentar uma nova competência ao seu curriculum, rever matérias ou simplesmente estrear-se num &lt;em&gt;hobby&lt;/em&gt; divertido - agora, tudo depende de cada um!&lt;/p&gt;  &lt;div style="width:65px;background-repeat:no-repeat;float:left;height:90px;"&gt;&lt;/div&gt;  &lt;div style="height:90px;"&gt;   &lt;div&gt;&lt;u&gt;&lt;strong&gt;Orador&lt;/strong&gt;&lt;/u&gt;&lt;/div&gt;    &lt;div&gt;Pedro Rosa&lt;/div&gt;    &lt;div&gt;Developer Advisor&lt;/div&gt;    &lt;div&gt;Microsoft Portugal&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;span&gt;Registem-se em cada uma das sessões webcast para receber o respectivo link de acesso&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;&lt;strong&gt;26 Maio 2009 - &lt;/strong&gt;&lt;a title="Webcast Desenvolvimento de aplicações em Equipa" href="http://cli.gs/dJbpr7" target="_blank"&gt;&lt;strong&gt;Desenvolvimento de aplicações em Equipa&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;      &lt;p align="justify"&gt;Como utilizar o Visual Studio 2008&amp;#160; e quais as ferramentas adicionais necessárias para desenvolver de forma fácil e em qualidade: testes Unitários, testes de Carga, Code Profiling, Gestor de fontes, utilitários, entre outros, para facilitar o seu desenvolvimento.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;&lt;strong&gt;27 Maio 2009 - &lt;span&gt;&lt;a title="Webcast Desenvolvimento de Aplicações Web Utilizando o Visual Studio 2008" href="http://cli.gs/SseaGv" target="_blank"&gt;Desenvolvimento de Aplicações Web utilizando o VS2008&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;         &lt;p align="justify"&gt;Saiba como utilizar o Visual Studio 2008 na criação de aplicações Web de forma fácil e rápida, utilizando ASPX, AJAX, Dynamic Controls, Data Binding, controlos de navegação e de autenticação. Saiba como em poucos clicks pode criar uma aplicação funcional.&lt;/p&gt;     &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;&lt;strong&gt;02 Junho 2009 - &lt;/strong&gt;&lt;a title="Webcast Desenvolvimento de aplicações Cliente utilizando WPF C# e Visual Studio 2008" href="http://cli.gs/um2MgX" target="_blank"&gt;&lt;strong&gt;Desenvolvimento de Aplicações Cliente utilizando WPF, C# e Visual Studio 2008&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;      &lt;p align="justify"&gt;As aplicações instaladas no seu pc perderam interesse? Será que continuam a fazer sentido? Saiba como utilizar o Visual Studio 2008 na criação de aplicações Cliente Rico, de forma fácil e rápida, utilizando: Windows Presentation Foundation, LINQ, ClickOnce Deployment, Enterprise Library, entre outros. &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;&lt;strong&gt;03 Junho 2009 - &lt;/strong&gt;&lt;a title="Webcast Utilize WCF para construir aplicações com uma camada reutilizável" href="http://cli.gs/vdyX4t" target="_blank"&gt;&lt;strong&gt;Utilize WCF para construir aplicações com uma camada reutilizável&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;      &lt;p align="justify"&gt;Múltiplos clientes? Múltiplos Interfaces de trabalho? Como resolver o problema?&lt;/p&gt;      &lt;p align="justify"&gt;Saiba como utilizar Windows Comunication Foundation na construção de aplicações orientadas a serviços.&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;span&gt;Mantenham-se informados subscrevendo a &lt;a title="MSDN Flash portuguesa" href="http://cli.gs/MSDN-Flash-PT" target="_blank"&gt;MSDN Flash portuguesa&lt;/a&gt;, a &lt;em&gt;newsletter&lt;/em&gt; quinzenal com as actualizações de que precisam&lt;/span&gt;&lt;span&gt;!&lt;/span&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx&amp;amp;;subject=Microsoft+MSDN+Webcasts+%7c+Ferramentas+de+Desenvolvimento+%5bn%26%23237%3bvel+100%5d" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx&amp;amp;;title=Microsoft+MSDN+Webcasts+%7c+Ferramentas+de+Desenvolvimento+%5bn%26%23237%3bvel+100%5d" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx&amp;amp;title=Microsoft+MSDN+Webcasts+%7c+Ferramentas+de+Desenvolvimento+%5bn%26%23237%3bvel+100%5d" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx&amp;amp;;title=Microsoft+MSDN+Webcasts+%7c+Ferramentas+de+Desenvolvimento+%5bn%26%23237%3bvel+100%5d" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx&amp;amp;;title=Microsoft+MSDN+Webcasts+%7c+Ferramentas+de+Desenvolvimento+%5bn%26%23237%3bvel+100%5d&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/11/microsoft-msdn-webcasts-ferramentas-de-desenvolvimento-n-vel-100.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=46961" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/WCF/default.aspx">WCF</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/WPF/default.aspx">WPF</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/VisualStudio2008/default.aspx">VisualStudio2008</category></item><item><title>Copia Do Sistema vs. Cópia Do Negócio</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx</link><pubDate>Sun, 10 May 2009 22:34:56 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:46959</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;A maioria das empresas faz cópias regulares dos seus sistemas e mantém-nas por um certo tempo.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Mas, para além de restaurar uma cópia do dia anterior ou parte de uma outra cópia anterior, estas cópias são realmente úteis? Serão úteis dentro de 3, 4, 5 ou 10 anos?&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Actualmente, a tendência para o uso de virtualização aumenta a probabilidade de sucesso ao restaurar uma cópia no futuro. Mas alguns sistemas têm licenças temporizadas e com verificação remota em tempo de execução e corre-se o risco de se acabar com um restauro com sucesso mas que não se consegue usar.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;E se o &lt;em&gt;hardware&lt;/em&gt; para correr o sistema (virtualizado ou não) já não existir?&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;A solução é fazer cópias dos dados de negócio (em vez de fazer cópias dos dados dos sistemas) num formato interoperável, como por exemplo XML (que pode servir para armazenar conjuntamente dados e metadados).&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;O benefício acrescido é que, para além de situações de recuperação de desastre, facilita operações de migração de sistemas ou aplicações.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Isto não quer dizer que não é necessário fazer cópias de segurança dos sistemas. Claro que é necessário, mas apenas para fins operacionais.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx&amp;amp;;subject=Copia+Do+Sistema+vs.+C%26%23243%3bpia+Do+Neg%26%23243%3bcio" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx&amp;amp;;title=Copia+Do+Sistema+vs.+C%26%23243%3bpia+Do+Neg%26%23243%3bcio" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx&amp;amp;title=Copia+Do+Sistema+vs.+C%26%23243%3bpia+Do+Neg%26%23243%3bcio" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx&amp;amp;;title=Copia+Do+Sistema+vs.+C%26%23243%3bpia+Do+Neg%26%23243%3bcio" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx&amp;amp;;title=Copia+Do+Sistema+vs.+C%26%23243%3bpia+Do+Neg%26%23243%3bcio&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/10/copia-do-sistema-vs-c-pia-do-neg-cio.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=46959" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Arquitectura/default.aspx">Arquitectura</category></item><item><title>Dica: Ligar A Uma Base De Dados Usando Windows Authentication Com Credenciais Diferentes Usando O SQL Server Management Studio</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx</link><pubDate>Sun, 03 May 2009 23:48:10 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:46323</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;É uma boa prática usar &lt;a title="Microsoft Windows" href="http://cli.gs/Microsoft-Windows" target="_blank"&gt;Windows&lt;/a&gt; Authentication nas ligações ao &lt;a title="Microsoft SQL Server" href="http://www.microsoft.com/sqlserver/" target="_blank"&gt;SQL Server&lt;/a&gt; porque deixa de ser necessário escreve uma password num ficheiro de configuração ou entrada no registo do Windows.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Esta prática também trás benefícios acrescidos no que diz respeito à governabilidade. Gerir utilizadores passa a fazer parte da administração do domínio e não da administração de cada instância de SQL Server.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Mas isto pode ser um problema se os utilizadores (neste contexto, o utilizador é alguém que necessita de efectuar uma qualquer tarefa de administração ou acesso directo à base de dados&amp;#160; – um utilizador do &lt;a title="Introducing SQL Server Management Studio" href="http://msdn.microsoft.com/library/ms174173.aspx" target="_blank"&gt;SQL Server Management Studio&lt;/a&gt;) que ncessitam de se ligar à instância necessitam usar credenciais diferentes.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Uma forma de contornar este problema é usar o comando &lt;a title="Runas" href="http://technet.microsoft.com/library/bb490994.aspx" target="_blank"&gt;runas&lt;/a&gt;:&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;pre class="code"&gt;runas /user:&lt;em&gt;DOMAIN\USERNAME&lt;/em&gt; &amp;quot;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe&amp;quot;&lt;/pre&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p&gt;Mas se se está num ambiente em que existem vários domínios e o sistema que se está a usar não pertence ao domínio da conta que se pretende usar para ligar à instância, obtem-se o seguinte rro:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;RUNAS ERROR: Unable to run - C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe
1787: The security database on the server does not have a computer account for this workstation trust relationship.&lt;/pre&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;Mas nem tudo está perdido. Porque o que se pretende é estabelecer uma ligação remota, pode ser usado o selector &lt;strong&gt;/netonly&lt;/strong&gt;, e tudo funciona:&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;pre class="code"&gt;runas /netonly /user:&lt;em&gt;DOMAIN\USERNAME&lt;/em&gt; &amp;quot;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe&amp;quot;&lt;/pre&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;O SQL Server Management Studio continua a listar todas as bases de dados da instância (ao contrário do que aconteceria se a ligação fosse feita a partir de um sistem usando um sessão de utilizador da conta com se pretende ligar à instância), mas o &lt;a title="Apex SQL Edit : A complete Editor / IDE for SQL Server" href="http://cli.gs/ApexSQL-Edit" target="_blank"&gt;ApexSQL Edit&lt;/a&gt; apenas listará as bases de dados a que a conta tem acesso.&lt;/p&gt;
&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx&amp;amp;;subject=Dica%3a+Ligar+A+Uma+Base+De+Dados+Usando+Windows+Authentication+Com+Credenciais+Diferentes+Usando+O+SQL+Server+Management+Studio" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx&amp;amp;;title=Dica%3a+Ligar+A+Uma+Base+De+Dados+Usando+Windows+Authentication+Com+Credenciais+Diferentes+Usando+O+SQL+Server+Management+Studio" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx&amp;amp;title=Dica%3a+Ligar+A+Uma+Base+De+Dados+Usando+Windows+Authentication+Com+Credenciais+Diferentes+Usando+O+SQL+Server+Management+Studio" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx&amp;amp;;title=Dica%3a+Ligar+A+Uma+Base+De+Dados+Usando+Windows+Authentication+Com+Credenciais+Diferentes+Usando+O+SQL+Server+Management+Studio" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx&amp;amp;;title=Dica%3a+Ligar+A+Uma+Base+De+Dados+Usando+Windows+Authentication+Com+Credenciais+Diferentes+Usando+O+SQL+Server+Management+Studio&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/05/04/dica-ligar-a-uma-base-de-dados-usando-windows-authentication-com-credenciais-diferentes-usando-o-sql-server-management-studio.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=46323" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Windows/default.aspx">Windows</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/TipsAndTricks/default.aspx">TipsAndTricks</category></item><item><title>DevDays09 &gt; Best Of ... – Gravações Disponíveis</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx</link><pubDate>Tue, 28 Apr 2009 00:58:04 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:42331</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;div&gt;   &lt;table style="width:630px;border-collapse:collapse;" cellpadding="0"&gt;       &lt;tr&gt;         &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;padding-top:0cm;"&gt;           &lt;div&gt;&lt;img alt="DevDays09 &amp;gt; Best Of ... as 4 melhores sessões!" src="http://www.microsoft.com/library/media/2070/portugal/technet/media/tb_dev09_2.gif" /&gt;&lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td&gt;           &lt;p&gt;Já estão disponíveis as gravações das sessões &lt;strong&gt;Best of DevDays09&lt;/strong&gt; gravadas durante o mês de Abril.&lt;/p&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a title="Webcast Best of DevDays | Intro Entity Framework" href="http://cli.gs/jTMLW4" target="_blank"&gt;Introdução à Entity Framework&lt;/a&gt; — Nuno Silva &lt;/li&gt;              &lt;li&gt;&lt;a title="Webcast Best of DevDays | WIN212 - Building Restfull Services using Windows Communication Foundation" href="http://cli.gs/yan3YE" target="_blank"&gt;Building RESTFull Services Using WCF&lt;/a&gt;&lt;/a&gt; — Marco André Silva &lt;/li&gt;              &lt;li&gt;&lt;a title="Webcast Best of DevDays | Patterns &amp;amp; Antipatterns" href="http://cli.gs/jdeJMz" target="_blank"&gt;Patterns &amp;amp; Antipatterns&lt;/a&gt; — João Pedro Martins e Tiago Pascoal &lt;/li&gt;              &lt;li&gt;&lt;a title="Webcast Best of DevDays | Optimização de Performance de Web sites" href="http://cli.gs/ShvqEm" target="_blank"&gt;Optimização de Performance de Websites&lt;/a&gt; — Tiago Andrade e Silva &lt;/li&gt;              &lt;li&gt;&lt;a title="Webcast Best of DevDays | Storage na Cloud" href="http://cli.gs/uEuzQ8" target="_blank"&gt;Windows Azure - Storage na Cloud&lt;/a&gt; — José António Silva &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:#0088b8;padding-top:0cm;"&gt;           &lt;div style="text-align:left;"&gt;&lt;b&gt;&lt;span style="color:white;font-size:12pt;"&gt;Mantenha-se informado subscrevendo a &lt;/span&gt;&lt;span style="color:#09bfff;font-size:12pt;"&gt;&lt;a title="MSDN Flash - Registo" href="http://cli.gs/MSDNFlashPT"&gt;&lt;span style="color:#09bfff;"&gt;MSDN Flash&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; &lt;span style="color:white;font-size:12pt;"&gt;portuguesa ...&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;            &lt;div style="text-align:right;margin-left:10px;margin-right:10px;"&gt;&lt;b&gt;&lt;span style="color:white;font-size:12pt;"&gt;... a &lt;i&gt;newsletter&lt;/i&gt; quinzenal com as actualizações de que precisa.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td&gt;           &lt;div style="text-align:center;margin:10px 0px;"&gt;&lt;img border="0" alt=" " src="http://www.microsoft.com/library/media/2070/portugal/technet/media/bb_dev09.jpg" /&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/table&gt; &lt;/div&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx&amp;amp;;subject=DevDays09+%26gt%3b+Best+Of+...+%e2%80%93+Grava%26%23231%3b%26%23245%3bes+Dispon%26%23237%3bveis" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx&amp;amp;;title=DevDays09+%26gt%3b+Best+Of+...+%e2%80%93+Grava%26%23231%3b%26%23245%3bes+Dispon%26%23237%3bveis" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx&amp;amp;title=DevDays09+%26gt%3b+Best+Of+...+%e2%80%93+Grava%26%23231%3b%26%23245%3bes+Dispon%26%23237%3bveis" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx&amp;amp;;title=DevDays09+%26gt%3b+Best+Of+...+%e2%80%93+Grava%26%23231%3b%26%23245%3bes+Dispon%26%23237%3bveis" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx&amp;amp;;title=DevDays09+%26gt%3b+Best+Of+...+%e2%80%93+Grava%26%23231%3b%26%23245%3bes+Dispon%26%23237%3bveis&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/devdays09-best-of-grava-es-dispon-veis.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=42331" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Web/default.aspx">Web</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Windows/default.aspx">Windows</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Windows7/default.aspx">Windows7</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/WindowsAzure/default.aspx">WindowsAzure</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/DevDays09/default.aspx">DevDays09</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/DevDays/default.aspx">DevDays</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/EntityFramework/default.aspx">EntityFramework</category></item><item><title>Falando De Windows</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx</link><pubDate>Mon, 27 Apr 2009 23:50:22 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:42329</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;h4&gt;A próxima geração do Windows® está quase a chegar!&lt;/h4&gt;  &lt;p align="justify"&gt;A &lt;a title="Microsoft Corporation" href="http://www.microsoft.com/" target="_blank"&gt;Microsoft&lt;/a&gt; criou um video-blogue, que arrancará oficialmente no inicio de Maio, chamado &lt;strong&gt;Talking About Windows&lt;/strong&gt; (Falando De Windows).&lt;/p&gt;  &lt;p align="justify"&gt;Este video-blogue providencia uma visão profunda sobre o &lt;a title="Microsoft Windows" href="http://cli.gs/Microsoft-Windows" target="_blank"&gt;Windows&lt;/a&gt; 7 dada pelos engenheiros da &lt;a title="Microsoft Corporation" href="http://www.microsoft.com/" target="_blank"&gt;Microsoft&lt;/a&gt; que ajudaram a construir o produto.&lt;/p&gt;  &lt;p align="justify"&gt;Adicionalmente, providencia comentários de profissionais de IT e as suas experiências com este novo sistema operativo.&lt;/p&gt;  &lt;p align="justify"&gt;Podem assistir aos videos e comentá-los.&lt;/p&gt;  &lt;p align="justify"&gt;Só é pena não poder subscrever os vídeos para os poder assisttir no meu &lt;a title="Zune.net | What is Zune?" href="http://www.zune.net/products/whatiszune.htm" target="_blank"&gt;Zune&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Watch. Connect.    &lt;br /&gt;&lt;a title="Talking About Windows" href="http://www.talkingaboutwindows.com" target="_blank"&gt;www.talkingaboutwindows.com&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx&amp;amp;;subject=Falando+De+Windows" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx&amp;amp;;title=Falando+De+Windows" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx&amp;amp;title=Falando+De+Windows" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx&amp;amp;;title=Falando+De+Windows" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx&amp;amp;;title=Falando+De+Windows&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/28/falando-de-windows.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=42329" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Windows/default.aspx">Windows</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Windows7/default.aspx">Windows7</category></item><item><title>Microsoft Webcasts - Conhecer O Windows 7</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx</link><pubDate>Fri, 24 Apr 2009 01:54:02 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:37920</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:16pt;"&gt;Conhecer o Windows 7&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color:#1f497d;font-size:12pt;"&gt;&lt;a title="Windows 7 Webcasts" href="http://cli.gs/DJuqRL" target="_blank"&gt;Participe nas três sessões webcast e conheça o que Windows 7 pode fazer por si!...&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color:#244061;font-size:12pt;"&gt; &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;&lt;span style="color:#244061;"&gt;Saiba ainda como ganhar &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#e36c0a;font-size:14pt;"&gt;sete Windows 7&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:12pt;"&gt; &lt;/span&gt;&lt;span style="color:#244061;"&gt;e &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#e36c0a;font-size:14pt;"&gt;três Netbooks&lt;/span&gt;&lt;span style="color:#244061;"&gt;!&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;table style="border-collapse:collapse;background:#f2f2f2;" class="MsoNormalTable" cellspacing="0" cellpadding="0"&gt;     &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;padding-top:0cm;" colspan="3"&gt;         &lt;div style="width:608px;height:226px;margin-left:15px;"&gt;&lt;img src="http://www.microsoft.com/library/media/2070/portugal/technet/media/windows7webcasts/thebartop.png" width="608" height="28" /&gt;            &lt;br /&gt;&lt;img style="display:block;float:none;margin-left:auto;margin-right:auto;" src="http://www.microsoft.com/library/media/2070/portugal/technet/media/windows7webcasts/Header.jpg" width="608" height="151" /&gt;&lt;img src="http://www.microsoft.com/library/media/2070/portugal/technet/media/windows7webcasts/thebar.png" width="608" height="28" /&gt;&lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;padding-top:0cm;" colspan="3"&gt;         &lt;p style="background:#f2f2f2;"&gt;&lt;i&gt;&lt;span style="color:#244061;font-size:12pt;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;          &lt;p style="margin:0cm 12.35pt 0pt 8.8pt;background:#f2f2f2;" align="justify"&gt;&lt;span style="color:#244061;"&gt;Estamos perante um novo ciclo de evolução do Sistema Operativo Windows.&lt;/span&gt;&lt;/p&gt;          &lt;p style="margin:0cm 12.35pt 0pt 8.8pt;background:#f2f2f2;" align="justify"&gt;&lt;span style="color:#244061;"&gt;O Windows 7 traz-nos agora novas funcionalidades, com melhorias significativas ao nível da performance, segurança e gestão de PC's, permitindo uma experiência de utilização muito superior e tornando bem mais simples o dia-a-dia de todos os Profissionais de TI.&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;" colspan="2"&gt;         &lt;p style="margin:12pt 0cm 12pt 8.8pt;"&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:12pt;"&gt;20 de Maio de 2009&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:12pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;"&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;" colspan="2"&gt;         &lt;p&gt;&lt;a title="Webcast Windows 7 - Experiência de Utilizador e Produtividade" href="http://cli.gs/Z5vXt3" target="_blank"&gt;&lt;span style="color:windowtext;text-decoration:none;text-underline:none;"&gt;&lt;img id="_x0000_i1026" border="0" src="http://www.microsoft.com/library/media/2070/portugal/technet/media/Win7Exp.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;"&gt;         &lt;p align="justify"&gt;&lt;b&gt;&lt;span style="color:#244061;"&gt;&amp;gt; As funcionalidades com impacto directo na produtividade dos Utilizadores.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;          &lt;p align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;1.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Melhorias introduzidas no Interface e na navegação.&lt;/span&gt;&lt;/p&gt;          &lt;p align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;2.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Federated Search - Centralização de resultados de diferentes motores de busca, no Windows Explorer.&lt;/span&gt;&lt;/p&gt;          &lt;p align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;3.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;BranchCache - Caching automático de informação para optimização da largura de banda de escritórios remotos.&lt;/span&gt;&lt;/p&gt;          &lt;p align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;4.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;DirectAccess - Acesso a recursos de uma rede corporativa, a partir do exterior, de forma transparente ao utilizador, sem recurso a VPN.&lt;/span&gt;&lt;/p&gt;          &lt;h2 align="justify"&gt;&lt;span style="font-family:'Calibri','sans-serif';font-size:12pt;"&gt;&lt;a title="Webcast Windows 7 - Experiência de Utilizador e Produtividade" href="http://cli.gs/Z5vXt3" target="_blank"&gt;Registe-se para receber o link de acesso à sessão&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:'Calibri','sans-serif';color:windowtext;font-size:11pt;"&gt;&lt;/span&gt;&lt;/h2&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;padding-top:0cm;" colspan="3"&gt;         &lt;p style="margin:12pt 0cm 12pt 8.8pt;"&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:12pt;"&gt;21 de Maio de 2009&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;padding-top:0cm;" colspan="2"&gt;         &lt;p&gt;&lt;a title="Webcast Windows 7 - Mais segurança com o Windows 7" href="http://cli.gs/8EV8L7" target="_blank"&gt;&lt;b&gt;&lt;span style="color:#244061;text-decoration:none;text-underline:none;"&gt;&lt;img id="_x0000_i1027" border="0" src="http://www.microsoft.com/library/media/2070/portugal/technet/media/Win7Seg.png" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="color:#244061;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;padding-top:0cm;"&gt;         &lt;p style="vertical-align:middle;" align="justify"&gt;&lt;b&gt;&lt;span style="color:#244061;"&gt;&amp;gt; As melhorias e as novidades de Segurança. &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:12pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;          &lt;p align="justify"&gt;&lt;span style="color:#244061;"&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;1.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Melhorias de segurança na arquitectura do Sistema Operativo&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:50.15pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;a.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Vista Foundation; &lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:50.15pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;b.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;User Account Control; &lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:50.15pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;c.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Auditing.&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;2.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;AppLocker - É possível numa rede de computadores, centralizar políticas de execução ou proibição de aplicações.&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;3.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;BitLocker To Go -Com o Windows 7 é possível, não só encriptar as partições do disco local, como os dados de dispositivos de armazenamento removíveis.&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;4.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Internet Explorer 8. Além de muita novas funcionalidades, foram introduzidas algumas melhorias para proteger o utilizador de alguns tipos de ataques conhecidos.&lt;/span&gt;&lt;/p&gt;          &lt;p style="margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;          &lt;h2 align="justify"&gt;&lt;span style="font-family:'Calibri','sans-serif';font-size:12pt;"&gt;&lt;a title="Webcast Windows 7 - Mais segurança com o Windows 7" href="http://cli.gs/8EV8L7" target="_blank"&gt;Registe-se para receber o link de acesso à sessão&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:'Calibri','sans-serif';color:#244061;font-size:10pt;"&gt;&lt;/span&gt;&lt;/h2&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;" colspan="2"&gt;         &lt;p style="margin:12pt 0cm 12pt 8.8pt;"&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:12pt;"&gt;22 de Maio de 2009&lt;/span&gt;&lt;span style="color:#244061;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;"&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;" colspan="2"&gt;         &lt;p&gt;&lt;a title="Webcast Windows 7 - Gestão de PC’s no Windows 7" href="http://cli.gs/8LSGNA" target="_blank"&gt;&lt;b&gt;&lt;span style="color:#244061;text-decoration:none;text-underline:none;"&gt;&lt;img id="_x0000_i1028" border="0" src="http://www.microsoft.com/library/media/2070/portugal/technet/media/Win7Gestao.png" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="color:#244061;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;"&gt;         &lt;p style="margin-right:34pt;" align="justify"&gt;&lt;b&gt;&lt;span style="color:#244061;"&gt;&amp;gt; Os temas mais relevantes para quem é responsável pela gestão de PC's.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;          &lt;p style="margin-right:34pt;" align="justify"&gt;&lt;span style="color:#244061;"&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;1.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Licenciamento - as várias versões do Windows 7.&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;2.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Volume Activation - Melhor compreensão do processo de activação do Vista e Windows 7.&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;3.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Compatibilidade aplicacional entre as várias versões do Sistema Operativo - XP; Vista; Windows 7.&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;4.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Melhorias introduzidas na arquitectura do Windows 7:&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:50.15pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;a.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Performance;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:50.15pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;b.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Networking;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:50.15pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;c.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Eficiência energética.&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:21.8pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;5.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Novas funcionalidades de gestão:&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:50.15pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;a.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;CompletePC - Mecanismo simples de fazer Backups a todo o computador;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:50.15pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;b.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;Power Shell;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-indent:-18pt;margin-left:50.15pt;vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;span&gt;c.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;VHD boot - Transforme uma Virtual Machine em máquina física.&lt;/span&gt;&lt;/p&gt;          &lt;p style="vertical-align:middle;" align="justify"&gt;&lt;span style="color:#244061;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;          &lt;h2 align="justify"&gt;&lt;span style="font-family:'Calibri','sans-serif';font-size:12pt;"&gt;&lt;a title="Webcast Windows 7 - Gestão de PC’s no Windows 7" href="http://cli.gs/8LSGNA" target="_blank"&gt;Registe-se para receber o link de acesso à sessão&lt;/a&gt;&amp;#160;&lt;/span&gt;&lt;span style="font-family:'Calibri','sans-serif';font-size:10pt;"&gt;&lt;/span&gt;&lt;/h2&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;padding-top:0cm;" colspan="3"&gt;         &lt;p style="margin-left:1.7pt;"&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:14pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;          &lt;p style="margin-left:15.9pt;"&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:14pt;"&gt;Saiba ainda como ganhar &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#e36c0a;font-size:18pt;"&gt;sete Windows 7&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:16pt;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:14pt;"&gt;e &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#e36c0a;font-size:18pt;"&gt;três Netbooks&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:14pt;"&gt;!&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;          &lt;p style="margin-left:1.7pt;"&gt;&lt;b&gt;&lt;span style="color:#244061;font-size:14pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;          &lt;p style="text-align:center;" align="center"&gt;&lt;img id="_x0000_i1029" border="0" src="http://www.microsoft.com/library/media/2070/portugal/technet/media/PremioWin7.png" /&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;padding-top:0cm;" colspan="3"&gt;         &lt;p style="margin-left:1.7pt;"&gt;&lt;span style="color:#244061;"&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-align:justify;margin:0cm 19.4pt 0pt 22.95pt;" align="justify"&gt;&lt;b&gt;&lt;span style="color:#244061;"&gt;Para ganhar um Windows 7&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#244061;"&gt; basta participar na sessão, ser a 7ª pessoa a responder correctamente à questão colocada na sessão, ser subscritor da &lt;a title="TechNet Flash" href="http://cli.gs/TechNet-Flash-PT" target="_blank"&gt;TechNet Flash&lt;/a&gt; portuguesa e ser residente em Portugal.&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-align:justify;margin:0cm 19.4pt 0pt 22.95pt;" align="justify"&gt;&lt;span style="color:#244061;"&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-align:justify;margin:0cm 19.4pt 0pt 22.95pt;" align="justify"&gt;&lt;b&gt;&lt;span style="color:#244061;"&gt;Para ganhar um NetBook&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#244061;"&gt; deverá participar nas 3 sessões do ciclo, responder à questão colocada nas três sessões, ser subscritor da &lt;a title="TechNet Flash" href="http://cli.gs/TechNet-Flash-PT" target="_blank"&gt;TechNet Flash&lt;/a&gt; portuguesa e ser residente em Portugal.&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-align:justify;margin:0cm 19.4pt 0pt 22.95pt;" align="justify"&gt;&lt;span style="color:#244061;"&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-align:justify;margin:0cm 19.4pt 0pt 22.95pt;" align="justify"&gt;&lt;span style="color:#244061;"&gt;A identificação dos premiados será ainda influenciada pelo tempo total de presença na(s) sessão(ões) e tempo de resposta à(s) questão(ões).&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;"&gt;         &lt;p style="text-align:center;" align="center"&gt;&lt;img id="_x0000_i1030" border="0" src="http://www.microsoft.com/library/media/2070/portugal/technet/media/Win7TNFlash.png" /&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;background:white;padding-top:0cm;" colspan="2"&gt;         &lt;p style="margin:0cm 0cm 12pt -1.95pt;"&gt;&lt;span class="Heading1Char"&gt;&lt;span style="font-family:'Calibri','sans-serif';color:#244061;font-size:12pt;"&gt;mantenha-se informado subscrevendo a&lt;/span&gt;&lt;/span&gt;&lt;span class="Heading1Char"&gt;&lt;span style="font-family:'Calibri','sans-serif';color:#254265;font-size:12pt;"&gt; &lt;a title="TechNet Flash" href="http://cli.gs/TechNet-Flash-PT" target="_blank"&gt;TechNet Flash&lt;/a&gt;&lt;span style="font-weight:normal;"&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Heading1Char"&gt;&lt;span style="font-family:'Calibri','sans-serif';color:#244061;font-size:12pt;"&gt;portuguesa...&lt;/span&gt;&lt;/span&gt;&lt;span class="Heading1Char"&gt;&lt;span style="font-family:'Calibri','sans-serif';color:#244061;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p style="text-align:center;margin-left:-1.95pt;" align="center"&gt;&lt;span class="Heading1Char"&gt;&lt;span style="font-family:'Calibri','sans-serif';color:#244061;font-size:12pt;"&gt;...a &lt;i&gt;newsletter&lt;/i&gt; quinzenal com as actualizações de que precisa.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx&amp;amp;;subject=Microsoft+Webcasts+-+Conhecer+O+Windows+7" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx&amp;amp;;title=Microsoft+Webcasts+-+Conhecer+O+Windows+7" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx&amp;amp;title=Microsoft+Webcasts+-+Conhecer+O+Windows+7" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx&amp;amp;;title=Microsoft+Webcasts+-+Conhecer+O+Windows+7" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx&amp;amp;;title=Microsoft+Webcasts+-+Conhecer+O+Windows+7&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/04/24/microsoft-webcasts-conhecer-o-windows-7.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=37920" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/TechNet/default.aspx">TechNet</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Windows7/default.aspx">Windows7</category></item><item><title>BizTalk Server 2009 RTM on MSDN</title><link>http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx</link><pubDate>Wed, 15 Apr 2009 15:16:26 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:34586</guid><dc:creator>João Pedro Martins</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This news is a few days late, but couldn’t let it pass: the 2009 version of BizTalk is out on &lt;a href="http://msdn.microsoft.com" target="_blank"&gt;MSDN&lt;/a&gt; for download. This is another evolutionary release, containing a large set of improvements ont he previous 2006 R2 version, including .Net 3.5 SP1/VS2008 SP2 support and much more. You can check everything that’s new on the &lt;a href="http://cid-8ee85d8713522ec1.skydrive.live.com/self.aspx/200902%20Devdays09/ARC208%20-%20O%20que%20h%c3%a1%20de%20novo%20no%20BizTalk%20Server%202009.pdf" target="_blank"&gt;deck of the presentation I delivered at DevDays 2009&lt;/a&gt; (in Portuguese).&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx&amp;amp;;subject=BizTalk+Server+2009+RTM+on+MSDN" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx&amp;amp;;title=BizTalk+Server+2009+RTM+on+MSDN" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx&amp;amp;title=BizTalk+Server+2009+RTM+on+MSDN" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx&amp;amp;;title=BizTalk+Server+2009+RTM+on+MSDN" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx&amp;amp;;title=BizTalk+Server+2009+RTM+on+MSDN&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/04/15/biztalk-server-2009-rtm-on-msdn.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=34586" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/BizTalk+Server/default.aspx">BizTalk Server</category><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/Posts+in+English/default.aspx">Posts in English</category></item><item><title>redgate Lança .NET Reflector 5.1.5.0</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx</link><pubDate>Mon, 30 Mar 2009 23:19:36 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:30356</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;p align="justify"&gt;Hoje a &lt;a title="redgate - ingeniously simple tools" href="http://www.red-gate.com/" target="_blank"&gt;redgate&lt;/a&gt; lançou a versão 5.1.5.0 do &lt;a title=".NET Reflector" href="http://cli.gs/netReflector" target="_blank"&gt;.NET Reflector&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Foi um lançamento algo turbulento. Hoje de manhã, assim que &lt;a title="antsprofiler twitter" href="http://twitter.com/antsprofiler" target="_blank"&gt;@antsprofiler&lt;/a&gt; anunciou o lançamento da nova versão, tentei actualizar e foi-me oferecida uma actualização para a versão 5.1.4.0 sem parar.&lt;/p&gt;  &lt;p align="justify"&gt;Esta noite, em casa, quando tentei actualizar já me foi oferecida a versão 5.1.5.0.&lt;/p&gt;  &lt;p align="justify"&gt;O mais engraçado é que, quando se tenta correr a partir de &lt;strong&gt;C:\Program Files&lt;/strong&gt;, o UAC menciona &lt;strong&gt;Reflector 5.1.3&lt;/strong&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Acabei por mover para &lt;strong&gt;&lt;a title="Adobe Reader Falha Actualização/Instalação" href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx" target="_blank"&gt;C:\Program Files (Utils)&lt;/a&gt;&lt;/strong&gt; e funciona tudo na perfeição.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx&amp;amp;;subject=redgate+Lan%26%23231%3ba+.NET+Reflector+5.1.5.0" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx&amp;amp;;title=redgate+Lan%26%23231%3ba+.NET+Reflector+5.1.5.0" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx&amp;amp;title=redgate+Lan%26%23231%3ba+.NET+Reflector+5.1.5.0" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx&amp;amp;;title=redgate+Lan%26%23231%3ba+.NET+Reflector+5.1.5.0" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx&amp;amp;;title=redgate+Lan%26%23231%3ba+.NET+Reflector+5.1.5.0&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/redgate-lan-a-net-reflector-5-1-5-0.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=30356" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/.NET+/default.aspx">.NET </category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Reflector/default.aspx">Reflector</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/RedGate/default.aspx">RedGate</category></item><item><title>Adobe Reader Falha Actualização/Instalação</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx</link><pubDate>Mon, 30 Mar 2009 23:00:48 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:30348</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>1</slash:comments><description>&lt;p align="justify"&gt;Ontem, no portátil da empresa, foi-me oferecida uma actualização para o &lt;a title="Adobe Reader" href="http://get.adobe.com/reader/" target="_blank"&gt;Adobe Reader&lt;/a&gt; (a versão mais recente para o &lt;a title="Windows Vista" href="http://www.microsoft.com/windowsvista/" target="_blank"&gt;Windows Vista&lt;/a&gt; é a versão 9.1).&lt;/p&gt;  &lt;p align="justify"&gt;Aceitei a actualização, mas a mesma falhou. Era tarde e uma falha na actualização do Adobe Reader era a menor das minhas preocupações.&lt;/p&gt;  &lt;p align="justify"&gt;Hoje, quando necessitei usar o Adobe Reader, descobri que tinha sido desinstalado.&lt;/p&gt;  &lt;p align="justify"&gt;Não é nada simpático ter de descarregar e instalar o Adobe Reader quando necessito abrir um documento, mas o pior veio quando tentei instalá-lo.&lt;/p&gt;  &lt;p align="justify"&gt;O Adobe Reader requer elevação de privilégios para instalar mas, devido ao modo como o instalador funciona, ser administrador local (estou a usar o Vista x64 Enterprise registado num domínio) não é o suficiente para instalar o Adobe Reader em &lt;strong&gt;C:\Program Files (x86)&lt;/strong&gt;, porque continuava a falhar.&lt;/p&gt;  &lt;p align="justify"&gt;Eu já inha criado &lt;strong&gt;C:\Program Files (Utils)&lt;/strong&gt;, para instalar as ferramentas &lt;a title="Windows Sysinternals" href="http://cli.gs/Sysinternals" target="_blank"&gt;Windows Sysinternals&lt;/a&gt; (em particular, &lt;a title="Windows Sysinternals Process Explorer" href="http://cli.gs/SysinternalsProcessExplorer" target="_blank"&gt;Process Explorer&lt;/a&gt;) e instalei o Adobe Reader na mesma localização.&lt;/p&gt;  &lt;p align="justify"&gt;Sabem qual foi o primeiro nome em que pensei para essa pasta? &lt;strong&gt;C:\Program Files (Bad)&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;É mais fácil culpar o Vista!&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx&amp;amp;;subject=Adobe+Reader+Falha+Actualiza%26%23231%3b%26%23227%3bo%2fInstala%26%23231%3b%26%23227%3bo" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx&amp;amp;;title=Adobe+Reader+Falha+Actualiza%26%23231%3b%26%23227%3bo%2fInstala%26%23231%3b%26%23227%3bo" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx&amp;amp;title=Adobe+Reader+Falha+Actualiza%26%23231%3b%26%23227%3bo%2fInstala%26%23231%3b%26%23227%3bo" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx&amp;amp;;title=Adobe+Reader+Falha+Actualiza%26%23231%3b%26%23227%3bo%2fInstala%26%23231%3b%26%23227%3bo" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx&amp;amp;;title=Adobe+Reader+Falha+Actualiza%26%23231%3b%26%23227%3bo%2fInstala%26%23231%3b%26%23227%3bo&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/31/adobe-reader-falha-actualiza-o-instala-o.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=30348" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/WindowsVista/default.aspx">WindowsVista</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Sysinternals/default.aspx">Sysinternals</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/AdobeReader/default.aspx">AdobeReader</category></item><item><title>Webcast Best of DevDays | Patterns &amp; Antipattern – April 21st</title><link>http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx</link><pubDate>Thu, 26 Mar 2009 11:14:43 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:26660</guid><dc:creator>João Pedro Martins</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://agilior.pt/blogs/tiago.pascoal/archive/2009/02/24/7113.aspx"&gt;Tiago Pascoal&lt;/a&gt; and myself are doing a webcast with a &lt;a href="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/02/20/devdays09-wrap-up.aspx"&gt;repeat of our session at DevDays 09&lt;/a&gt;, as part of Microsoft Portugal’s “&lt;em&gt;Best of DevDays&lt;/em&gt;” webcast series. :) The webcast will happen on April 21st, &lt;strong&gt;in portuguese&lt;/strong&gt;. If you are interested, the you can &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032409993&amp;amp;EventCategory=2&amp;amp;culture=pt-PT&amp;amp;CountryCode=PT"&gt;register here&lt;/a&gt;.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx&amp;amp;;subject=Webcast+Best+of+DevDays+%7c+Patterns+%26amp%3b+Antipattern+%e2%80%93+April+21st" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx&amp;amp;;title=Webcast+Best+of+DevDays+%7c+Patterns+%26amp%3b+Antipattern+%e2%80%93+April+21st" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx&amp;amp;title=Webcast+Best+of+DevDays+%7c+Patterns+%26amp%3b+Antipattern+%e2%80%93+April+21st" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx&amp;amp;;title=Webcast+Best+of+DevDays+%7c+Patterns+%26amp%3b+Antipattern+%e2%80%93+April+21st" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx&amp;amp;;title=Webcast+Best+of+DevDays+%7c+Patterns+%26amp%3b+Antipattern+%e2%80%93+April+21st&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/2009/03/26/webcast-best-of-devdays-patterns-antipattern-april-21st.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=26660" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/Posts+in+English/default.aspx">Posts in English</category><category domain="http://www.arquitecturadesoftware.org/blogs/joaomartins/archive/tags/DevDays09/default.aspx">DevDays09</category></item><item><title>Apresentações Das Sessões Do MIX09</title><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx</link><pubDate>Thu, 26 Mar 2009 02:03:28 GMT</pubDate><guid isPermaLink="false">f91c5163-993a-4ad3-b0c6-9418870e089f:26574</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Numa &lt;a title="Vídeos Das Sessões Do MIX09" href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/23/v-deos-das-sess-es-do-mix09.aspx" target="_blank"&gt;entrada anterior&lt;/a&gt; introduzi as subscrições que criei para subscrever os vídeos das sessões do Mix09.&lt;/p&gt;  &lt;p&gt;Decidi também criar uma subscrição para as apresentações:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;PPTX:&lt;/strong&gt; &lt;a title="MIX Presentations" href="http://feeds.paulomorgado.net/PauloMorgado/Events/Mix09/SessionSlides" target="_blank"&gt;http://feeds.paulomorgado.net/PauloMorgado/Events/Mix09/SessionSlides&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx&amp;amp;;subject=Apresenta%26%23231%3b%26%23245%3bes+Das+Sess%26%23245%3bes+Do+MIX09" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx&amp;amp;;title=Apresenta%26%23231%3b%26%23245%3bes+Das+Sess%26%23245%3bes+Do+MIX09" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx&amp;amp;title=Apresenta%26%23231%3b%26%23245%3bes+Das+Sess%26%23245%3bes+Do+MIX09" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx&amp;amp;;title=Apresenta%26%23231%3b%26%23245%3bes+Das+Sess%26%23245%3bes+Do+MIX09" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx&amp;amp;;title=Apresenta%26%23231%3b%26%23245%3bes+Das+Sess%26%23245%3bes+Do+MIX09&amp;amp;;top=1" target="_blank" title = "Post http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/2009/03/26/apresenta-es-das-sess-es-do-mix09.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.arquitecturadesoftware.org/aggbug.aspx?PostID=26574" width="1" height="1"&gt;</description><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Web/default.aspx">Web</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Mix/default.aspx">Mix</category><category domain="http://www.arquitecturadesoftware.org/blogs/paulomorgado/archive/tags/Mix09/default.aspx">Mix09</category></item></channel></rss>