<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>Chilá na NET... Ah e no .NET também...</title><link>http://weblogs.asp.net/marcochila/default.aspx</link><description>Aqui você encontrará muita coisa (in)útil, código, informação e minha opinião sobre Visual Studio, AJAX, Javascript e ASP.NET.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Visual Basic ou Visual C#?</title><link>http://weblogs.asp.net/marcochila/archive/2009/09/07/visual-basic-ou-visual-c.aspx</link><pubDate>Mon, 07 Sep 2009 03:14:36 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7195160</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7195160</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/09/07/visual-basic-ou-visual-c.aspx#comments</comments><description>&lt;p align="justify"&gt;Ô perguntinha intrigante. Mas vou tentar explicar o meu ponto de vista. Quando o Visual Studio .NET foi lançado em 2002, existia uma linha de pensamento assim:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;“Se você usa o Visual Basic, use o VB.NET, mas, se você vem do C, C++ use o Visual C#!”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;Em parte isso era verdade porquê, além de inovações nas linguagens, também existia a novidade que era o .NET Framework. Não bastava mais saber a linguagem, era necessário dominar o Framework. E seguindo a linha de pensamento acima, temos que concordar que, quando você se depara com muita coisa nova e tem que aprender muita coisa, provavelmente você vai deixar a novidade de lado.&lt;/p&gt;  &lt;p align="justify"&gt;Então para apressar a curva de aprendizado, todos seguiram a orientação e assim foi, só que hoje em dia eu gostaria de adicionar alguns pontos, sobre essa escolha.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Se você já tem alguma experiência com o .NET Framework, a linguagem escolhida será apenas uma detalhe. Claro que, se você tem alguma experiência com desenvolvimento Web, você já utiliza claramente elementos da estrutura C#, já que o Javascript e o C#, possuem muita semelhança na semântica de sua estrutura.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Se você não tem experiência com o .NET Framework, mas já desenvolveu alguma coisa na vida, escolha o Visual Basic se você já desenvolveu algo em VB e o Visual C# se você utilizou Delphi, Pascal etc etc.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Se você não sabe “nada de nada”, está começando por exemplo, eu não indicaria nem o Visual Basic e muito menos o Visual C#, aqui não tem jeito, é preferência mesmo. Veja você mesmo as duas linguagens e escolha aquela que você quer “falar”.&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p align="justify"&gt;Ah, existe um último fator que é sobre o mercado, que pode te ajudar a escolher melhor. A Microsoft por exemplo, tenta seguir uma linha de igualdade, mas, não consegue e você em muitos eventos e apresentações por aí, vê o código Visual C# com mais frequência do que o código Visual Basic. &lt;/p&gt;  &lt;p align="justify"&gt;Há alguns anos, desenvolvedores VB não eram muito bem vistos, embora necessários. Hoje em dia isso diminuiu mas ainda vemos que as empresas procuram muito mais desenvolvedores C# do que VB.&lt;/p&gt;  &lt;p align="justify"&gt;Bem, escreví essas poucas linhas, porquê vamos tentar mudar a “linguagem padrão” lá do banco em que trabalho, indo do Visual Basic para o C#. Não vai ser fácil, mas, pelo menos nessa, todos os desenvolvedores estão unidos.&lt;/p&gt;  &lt;p align="justify"&gt;Abraços e vamos discutir sobre isso…&lt;/p&gt;  &lt;p align="justify"&gt;Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7195160" width="1" height="1"&gt;</description></item><item><title>Rapidinha sobre a Enterprise Library</title><link>http://weblogs.asp.net/marcochila/archive/2009/08/26/rapidinha-sobre-a-enterprise-library.aspx</link><pubDate>Wed, 26 Aug 2009 21:17:16 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7182341</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7182341</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/08/26/rapidinha-sobre-a-enterprise-library.aspx#comments</comments><description>&lt;p&gt;Pessoal, esse é um post rápido sobre alguns links legais sobre a enterprise library.&lt;/p&gt;  &lt;p&gt;1 – Artigo legal, dando uma visão geral sobre o Validation Application Block – &lt;a href="http://www.c-sharpcorner.com/UploadFile/shivprasadk/11113302192009033911AM/111133.aspx" target="_blank"&gt;aqui&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2 – Série de artigos sobre a enterprise library, &lt;a href="http://www.c-sharpcorner.com/UploadFile/satisharveti/enterpriselibrary101132009052818AM/enterpriselibrary1.aspx" target="_blank"&gt;aqui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;São bons e eu recomendo. Vale realmente a pena.&lt;/p&gt;  &lt;p&gt;E é só… hoje fui somente um repetidor, mas espero que logo eu tenha mais tempo e que possa criar varios exemplos e situações reais sobre o uso da Enterprise Library.&lt;/p&gt;  &lt;p&gt;Abraços, Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7182341" width="1" height="1"&gt;</description></item><item><title>Você desenvolve ou “arrasta e solta”?</title><link>http://weblogs.asp.net/marcochila/archive/2009/08/03/voc-234-desenvolve-ou-arrasta-e-solta.aspx</link><pubDate>Mon, 03 Aug 2009 02:55:07 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7159962</guid><dc:creator>marcochila</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7159962</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/08/03/voc-234-desenvolve-ou-arrasta-e-solta.aspx#comments</comments><description>&lt;p align="justify"&gt;Faz muito tempo que não escrevo nada, e hoje não vai sair nenhuma linha de código, apenas um ponto de vista. Estava eu falando outro dia com meu irmão, Fábio, que é designer, flasheiro etc etc e ele estava me contando que os desenvolvedores ASP.NET que aparecem para os trabalhos em agência de propaganda, só sabem fazer as coisas na base do arrastar e soltar. CARAMBA, quase infartei… Comecei a desenvolver em um tempo em que wizards e assistentes no VB4, BN5 e até no VB6 eram carentes de performance e personalização.&lt;/p&gt;  &lt;p align="justify"&gt;Mas, para entender melhor, fui dar uma verificada nesses sites e enteder o porquê de tanto arrastar e soltar. Bem, pude conferir que esses sites, geralmente todos em Flash, tem uma tela ou outra para você se cadastrar, receber notícias essas coisas. E nesse ponto tenho que ser sincero, para uma serviço desses qualquer linguagem dá conta e qualquer desenvolvedor, por pior que seja, afinal, gravar UM registro é coisa demais?&lt;/p&gt;  &lt;p align="justify"&gt;Aí, fui tentar entender o porquê de todos preferirem o bendito “arrastar e soltar”. Bem, eu não gosto, prefiro não usar, mas fiz uns testes com ASP.NET Dynamic Data e com o ObjectDataSource e vou expressar agora, o que achei.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;ASP.NET Dynamic Data – Útil para os casos em que não temos tempo para criar as páginas de cadastro de um sistema, desde que essas páginas fiquem sob os cuidados de TI senão, personalizá-las, dá um pouco de trabalho.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;ObjectDataSource – Usei e não gostei. Me poupou algumas linhas de código, mas e daí? Tive que criar a classe, os métodos etc etc. Não gostei… e ponto.&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p align="justify"&gt;Posso ter usado pouco essas duas e concluído rápido demais, mas, aprendí nesses quase 16 anos de desenvolvimento que não existe sintonia fina em coisa que nasce pronta. Quando preciso de performance e escalabilidade, a coisa fica feia e esse monte de assistentes e wizards são inúteis…&lt;/p&gt;  &lt;p align="justify"&gt;Há algum tempo atrás, coloquei uma série de quatro artigos no site DEVASP.NET, sobre AJAX, uma fazendo todo o uso de AJAX mas na unha, sem nenhuma biblioteca, chamando o objeto XMLHTTPREQUEST etc etc. E as outras com o uso de da Biblioteca AJAXPro. Você pode conferir &lt;a href="http://www.devaspnet.com.br/colunas/coluna3001.aspx" target="_blank"&gt;aqui&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Porquê mencionou essas coluninhas sobre AJAX nesse post? Só para que antes de utilizarmos só o que nos é dado pronto, a gente saiba como a coisa funciona, saiba o que é preciso para que funcione. Se você não souber, imagina quando precisar resolver um problema…&lt;/p&gt;  &lt;p align="justify"&gt;Abraços e vou evitar ficar tanto tempo sem postar nada… mas o dia-a-dia no banco tá bravo…&lt;/p&gt;  &lt;p align="justify"&gt;Falow!@!&lt;/p&gt;  &lt;p align="justify"&gt;Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7159962" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/marcochila/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/marcochila/archive/tags/Ajax/default.aspx">Ajax</category></item><item><title>De quem é esse laboratório?</title><link>http://weblogs.asp.net/marcochila/archive/2009/04/24/de-quem-233-esse-laborat-243-rio.aspx</link><pubDate>Sat, 25 Apr 2009 01:56:29 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7059751</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7059751</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/04/24/de-quem-233-esse-laborat-243-rio.aspx#comments</comments><description>&lt;p&gt;&lt;img src="http://www.scottgu.com/blogposts/testingatmicrosoft/lab.jpg" width="640" height="426" /&gt; &lt;/p&gt;  &lt;p&gt;Para vocês entenderem melhor o que são essas máquinas e de qual empresa, cliquem &lt;a href="http://weblogs.asp.net/scottgu/archive/2004/10/28/249458.aspx" target="_blank"&gt;aqui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Abraços,&lt;/p&gt;  &lt;p&gt;Chilá@!@&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7059751" width="1" height="1"&gt;</description></item><item><title>“Bloguear” é aprender…</title><link>http://weblogs.asp.net/marcochila/archive/2009/04/21/bloguear-233-aprender.aspx</link><pubDate>Tue, 21 Apr 2009 19:37:58 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7054042</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7054042</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/04/21/bloguear-233-aprender.aspx#comments</comments><description>&lt;p align="justify"&gt;Enquanto eu preparo o post sobre como utlizar a enterprise library de dentro do Visual Studio, percebí, aliás, não só eu, mas creio que todos que escrevem um blog, vivem o constante aprendizado que é aprender para disseminar…&lt;/p&gt;  &lt;p align="justify"&gt;E posso dizer que é isso que eu quero, que o pouco que eu sei, que vocês também saibam.&lt;/p&gt;  &lt;p align="justify"&gt;Lembro que quando começei a trabalhar, como estagiário de uma empresa de consultoria em desenvolvimento de sistemas (A.E.S. – Application Express System), me ensinaram que temos que dividir o conhecimento. Todos, simplesmente todos os sócios da consultoria ensinavam os estagiários tudo que sabiam. Eu passava horas e mais horas ao lado de caras que sabiam muito e tinham mais anos de experiência desenvolvendo sistemas do que eu tinha de idade.&lt;/p&gt;  &lt;p align="justify"&gt;Deve ser por tudo isso que eu gosto de fazer essas coisas… palestras, eventos, blog etc etc.&lt;/p&gt;  &lt;p align="justify"&gt;Estou me esforçando para aprender o que eu não sei e colocar aqui, afinal, é assim que eu também aprendo…&lt;/p&gt;  &lt;p align="justify"&gt;Abraços e até o próximo post sobre Visual Studio + Enterprise Library&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7054042" width="1" height="1"&gt;</description></item><item><title>Enteprise Library (EntLib) – Configurando Ambientes Heterogêneos</title><link>http://weblogs.asp.net/marcochila/archive/2009/04/19/enteprise-library-entlib-configurando-ambientes-heterog-234-neos.aspx</link><pubDate>Sun, 19 Apr 2009 06:30:07 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7050024</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7050024</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/04/19/enteprise-library-entlib-configurando-ambientes-heterog-234-neos.aspx#comments</comments><description>&lt;p align="justify"&gt;Antes de aprofundar sobre o uso de cada bloco da EntLib, quero mostrar mais um ponto da bilbioteca que faz com que eu cada vez mais recomende seu uso, estou falando da configuração de ambientes heterogêneos.&lt;/p&gt;  &lt;p align="justify"&gt;Exemplificando, imagine que a Chilá Corp., tem três ambientes nso quais seus sistemas são executados:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Desenvolvimento – Servidor de Banco de dados e de aplicativo aonde o desenvolvedor trabalha na sua solução, na sua versão para determinado sistema e/ou problema.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Homologação – Servidor de Banco de dados e de aplicativo aonde o usuário final homologa a solução dada pelo desenvolvedor/equipe de desenvolvimento/departamento.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Produção – Servidor de banco de dados e de aplicativo aonde os usuários finais trabalham.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Ao usarmos a EntLib na Chilá Corp., o que teríamos? Três versões do arquivo de aplicativo com as configurações da EntLib para cada ambiente? Cada versão dessas isolada da outra? Necessidade de manutenção em 3 versões?&lt;/p&gt;  &lt;p align="justify"&gt;Bem por sorte o pessoal da Microsoft pensou na gente e incluiu uma opção chamada de “Environment” (ambiente em inglês). Com isso, criamos toda a nossa configuração da EntLib, pensando como uma única coisa e depois, criamos os ambientes que são os “environments” aonde nossa aplicação irá rodar. &lt;/p&gt;  &lt;p align="justify"&gt;Para dar mais um exemplo, imaginem que os servidores de banco de dados, tem os seguintes nomes, por ambiente:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;bd_desen – Banco de dados de desenvolvimento&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;bd_homol – Banco de dados de homolagação&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;bd_produ – Banco de dados de produção&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Para dar mais tempero ao nosso exemplo, imaginem que um banco de dados, por alguma razão, é utilizado por todos os ambientes, seja ele de desenvolvimento, homologação ou produção. Teríamos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;bd_estat – Banco de dados de estatísticas (não me perguntem nada sobre isso, acabei de criar isso e dar esse nome somente para efeito didático…)&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Então na nossa configuração da EntLib, temos que:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Configurar nossos 3 ambientes;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Configurar cada conexão de dados para esses três ambientes; e&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Configurar a conexão do bd_estat para que seja usado nos três ambientes da mesma forma.&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p align="justify"&gt;Pois bem, vamos começar. Após iniciar a Configuração da Enterprise Library, clique com o botão direito sobre “Enterprise Library Configuration” e escolha “new Application”, conforme a imagem abaixo:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/novaaplicaoentlib_519F5CFC.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="nova aplicação entlib" border="0" alt="nova aplicação entlib" src="http://weblogs.asp.net/blogs/marcochila/novaaplicaoentlib_thumb_493B87A5.jpg" width="244" height="151" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Após, criar a aplicação, vamos criar nossos ambientes. Veja na imagem abaixo como criar um novo “environment’, botão direito em “Environments”, “New”, “Environment”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/EntLibConfiguraesdeAmbiente_24F9A11D.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="EntLib Configurações de Ambiente" border="0" alt="EntLib Configurações de Ambiente" src="http://weblogs.asp.net/blogs/marcochila/EntLibConfiguraesdeAmbiente_thumb_1C2998D1.jpg" width="244" height="111" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Depois isso, vamos dar nome aos bois. Vou chamar esse nosso primeiro ambiente de Desenvolvimento, conforme imagem abaixo:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/ambientededesenvolvimento_2FD68265.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="ambiente de desenvolvimento" border="0" alt="ambiente de desenvolvimento" src="http://weblogs.asp.net/blogs/marcochila/ambientededesenvolvimento_thumb_79192760.jpg" width="244" height="80" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;E agora vou criar o ambiente de homologação, repetindo os passos que efetuei para criar o ambiente de desenvolvimento. Ficando assim:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/ambientedehomologacao_77D48E81.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="ambiente de homologacao" border="0" alt="ambiente de homologacao" src="http://weblogs.asp.net/blogs/marcochila/ambientedehomologacao_thumb_35EDA933.jpg" width="244" height="83" /&gt;&lt;/a&gt; Agora vamos criar o nosso bloco de acesso a dados e aí sim, personalizar cada conexão de banco de dados para cada servidor de nossos ambientes. Para criar o bloco de acesso a dados da nossa aplicação, vamos clicar com o botão direito em “Application Configuration”, “New”, “Data Access Application Block”, conforme imagem abaixo:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/criacaododataaccessblock_69B59F84.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="criacao do data access block" border="0" alt="criacao do data access block" src="http://weblogs.asp.net/blogs/marcochila/criacaododataaccessblock_thumb_672C6DC6.jpg" width="244" height="130" /&gt;&lt;/a&gt;Após esse passo, a nossa configuração deve estar parecida com a imagem abaixo:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/telaapsdaab_71115F31.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="tela após daab" border="0" alt="tela após daab" src="http://weblogs.asp.net/blogs/marcochila/telaapsdaab_thumb_7C5A736E.jpg" width="244" height="63" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Reparem no bloco “Overridden values per environment”. É esse bloco em que vamos configurar nossa string de conexão diferenciada por servidor. Chamarei a conexão de “conexaoUm”, ficando mais ou menos assim a nossa configuração:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/conexaoUm_5B6700C7.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="conexaoUm" border="0" alt="conexaoUm" src="http://weblogs.asp.net/blogs/marcochila/conexaoUm_thumb_1F5ABF12.jpg" width="244" height="71" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Reparem na área destacada em vermelho. É nela que iremos indicar se essa configuração pode ou não ser sobreescrita por ambiente. É aqui que está o pulo do gato. Para configurações homogêneas entre servidores, deixamos marcado a opção padrão que é de não sobreescrever a propriedade “Don’t Override Properties”. Quando a configuração mudar de ambiente para ambiente, iremos selecionar sobreescrever propriedade “Override Properties”. Vejam como ficou a configuração ajustada por ambiente:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/image_6C1E85A8.png" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/marcochila/image_thumb_4333709F.png" width="244" height="67" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Para finalizar, vou criar uma nova conexão, chamada “conexaoEstat” para o nosso banco de dados db_estat que é o mesmo para todos os ambientes e que não terá a opção de sobreescrever por ambiente marcada, conforme imagem abaixo:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/image_0C09E2A6.png" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/marcochila/image_thumb_1178534A.png" width="244" height="72" /&gt;&lt;/a&gt;E para finalizar, para gerar os seus arquivos de configuração por ambiente, basta clicar com o botão direito no ambiente e escolher “Save Merged Configuration”, conforme imagem a seguir:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/image_571CDD68.png" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/marcochila/image_thumb_3C70414F.png" width="244" height="147" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Bem, é isso, no próximo post, mostrarei como configurar seu web.config ou app.config para aí sim, começar a utilizar e ter todas as vantagens da Enterprise Library. Até aqui, o trabalho que demonstrei ficaria a serviço da área de infra da sua empresa, uma vez que envolve servidores e strings de conexão que muitas vezes são desconhecidas pelos desenvolvedores, seja propositadamente ou por ser uma política de segurança corporativa.&lt;/p&gt;  &lt;p align="justify"&gt;Abraços…&lt;/p&gt;  &lt;p align="justify"&gt;Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7050024" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/marcochila/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category></item><item><title>O que é Enterprise Library??</title><link>http://weblogs.asp.net/marcochila/archive/2009/04/18/o-que-233-enterprise-library.aspx</link><pubDate>Sat, 18 Apr 2009 02:31:17 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7049477</guid><dc:creator>marcochila</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7049477</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/04/18/o-que-233-enterprise-library.aspx#comments</comments><description>&lt;p&gt;Bem, após um ou dois dias desenvolvendo no .NET, seja ele 2001, 2003, 2005, 2008 ou até o 2010 CTP, você já deve ter se perguntado: &amp;quot;Porquê algumas tarefas, são sempre repetidas e eu tenho sempre que reescrevê-las?&amp;quot;. Bem isso acontece porquê provavelmente Você não desenvolveu o &lt;strong&gt;SEU&lt;/strong&gt; &lt;strong&gt;PRÓPRIO&lt;/strong&gt; framework, simples não...&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Para aqueles que nunca desenvolveram nada, vou dar um exemplo citando a execução de um comando a uma base de dados SQL Server. O acesso deveria ser algo assim:&lt;/p&gt;  &lt;ol&gt;   &lt;ol&gt;     &lt;li&gt;Declaramos a nossa variável de conexão com o banco de dados; &lt;/li&gt;      &lt;li&gt;Associamos uma string de conexão a nossa variável de conexão (criada no item 1); &lt;/li&gt;      &lt;li&gt;Abrimos a conexão com o banco de dados; &lt;/li&gt;      &lt;li&gt;Declaramos uma variável de comando para o nosso banco de dados; &lt;/li&gt;      &lt;li&gt;Associamos a conexão da variável de comando com a conexão criada; &lt;/li&gt;      &lt;li&gt;Informamos os dados do comando que queremos executar; &lt;/li&gt;      &lt;li&gt;Executamos o nosso comando; e &lt;/li&gt;      &lt;li&gt;Descarregamos da memória tudo e todos as variáveis envolvidas nesse processo. &lt;/li&gt;   &lt;/ol&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Preocupante certo? OK, mas o que nós podemos fazer então para deixar de nos preocuparmos com essas tarefas repetitivas e focarmos naquilo que realmente interessa que é a lógica e a inteligência de um sistema?&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Simples, ou nós criamos a nossa própria biblioteca que irá trabalhar de um jeito mais próximo do que estamos acostumados nos poupando disso ou utilizamos uma biblioteca que alguém tenha desenvolvido para nos poupar dessas tarefas. Qualquer que seja a sua resposta, você vai utilizar o Enterprise Library, criado e mantido pela Microsoft.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Mas o que é que esse tal de Enterprise Library tem de tão bom? Bem, para começar, ele simplifica bastante o desenvolvimento, já que essas &amp;quot;ações rotineiras, repetitivas&amp;quot; são encapsuladas em métodos de sua biblioteca. Por exemplo para executar o comando mencionado acima, bastaria chamar UM método passando como parâmetros a string de conexão, o banco de dados, o comando e seus parâmetros, isso tudo em uma linha e sem ter que ficar se preocupando com o resto. Interessante não? E se eu disser que além de acesso à base de dados temos várias outras bibliotecas? Dêem uma olhada:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Caching Application Block &lt;/li&gt;      &lt;li&gt;Cryptography Application Block &lt;/li&gt;      &lt;li&gt;Data Access Application Block &lt;/li&gt;      &lt;li&gt;Exception Handling Application Block &lt;/li&gt;      &lt;li&gt;Logging Application Block &lt;/li&gt;      &lt;li&gt;Policy Injection Application Block &lt;/li&gt;      &lt;li&gt;Security Application Block &lt;/li&gt;      &lt;li&gt;Validation Application Block &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Nas primeiras versões, tudo era feito de forma isolada mas a partir da versão de Junho de 2005, ganhamos uma interface gráfica aonde configuramos o Enterprise Library e todos os seus blocos. Por exemplo, todas as strings de conexão são gerenciadas por aqui.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Na medida do possível vou procurar descrever melhor as caracteristicas da Enterprise Library.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Para maiores informações, download e webcasts sobre a Enterprise Library basta acessar: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa480453.aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa480453.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Um grande abraço,&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7049477" width="1" height="1"&gt;</description></item><item><title>Enterprise Library (ou simplesmente EntLib)</title><link>http://weblogs.asp.net/marcochila/archive/2009/04/17/enterprise-library-ou-simplesmente-entlib.aspx</link><pubDate>Fri, 17 Apr 2009 04:04:53 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7048610</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7048610</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/04/17/enterprise-library-ou-simplesmente-entlib.aspx#comments</comments><description>&lt;p align="justify"&gt;Pessoal, há muito tempo atrás, escreví um artigo conceitual (tá bom, com um pouco de código), abordando a Enterprise Library, que então estava em sua versão 3.1. Achei o arquivo e vou colocá-lo no meu skydrive para download. Clique &lt;strong&gt;&lt;a href="http://cid-0555cdeb63d13594.skydrive.live.com/self.aspx/Artigos/chila-enterprise.pdf" target="_blank"&gt;aqui&lt;/a&gt;&lt;/strong&gt; para baixar.&lt;/p&gt;  &lt;p align="justify"&gt;Abraços.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7048610" width="1" height="1"&gt;</description></item><item><title>Office 2007 salvando como PDF</title><link>http://weblogs.asp.net/marcochila/archive/2009/04/17/office-2007-salvando-como-pdf.aspx</link><pubDate>Fri, 17 Apr 2009 03:59:42 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7048603</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7048603</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/04/17/office-2007-salvando-como-pdf.aspx#comments</comments><description>&lt;p&gt;Vocês já devem saber que o SP2 para o Office 2007 virá com essa opção, de salvar em PDF mas para quem não quer esperar, basta acessar &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041&amp;amp;displaylang=en" target="_blank"&gt;aqui&lt;/a&gt; e baixar o add-in.&lt;/p&gt;  &lt;p&gt;Detalhe aos desavisados, só funciona nos aplicativos do Office 2007, OK? Caso queiram algo mais abrangente que funcione como o Acrobat (que cria uma impressora virtual que salva como PDF) mas de graça, tentem o &lt;a href="http://www.cutepdf.com/download/CuteWriter.exe" target="_blank"&gt;CutePDF Writer&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Abraços…&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7048603" width="1" height="1"&gt;</description></item><item><title>blogs.msdn.com fora do ar!!!</title><link>http://weblogs.asp.net/marcochila/archive/2009/04/05/blogs-msdn-com-fora-do-ar.aspx</link><pubDate>Sun, 05 Apr 2009 04:31:11 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7025920</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=7025920</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/04/05/blogs-msdn-com-fora-do-ar.aspx#comments</comments><description>&lt;p&gt;Caraca, e eu sempre digo por aí, para amigos e nos eventos em que vou que os blogs do MSDN são uma grande fonte de informação!! Olhem o erro:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/image_5B1DE4F1.png" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/marcochila/image_thumb_4543D6C7.png" width="244" height="172" /&gt;&lt;/a&gt;Bem, isso deve ser porquê eles estão migrando a base de dados para a o SQL Server 2015!!! hehehe&lt;/p&gt;  &lt;p&gt;Abraços… &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7025920" width="1" height="1"&gt;</description></item><item><title>Blogar código fonte do Visual Studio…</title><link>http://weblogs.asp.net/marcochila/archive/2009/03/02/blogar-c-243-digo-fonte-do-visual-studio.aspx</link><pubDate>Mon, 02 Mar 2009 03:20:03 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6934502</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=6934502</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/03/02/blogar-c-243-digo-fonte-do-visual-studio.aspx#comments</comments><description>&lt;p align="justify"&gt;Caramba, estou procurando um jeito fácil, mas tá difícil…&lt;/p&gt;  &lt;p align="justify"&gt;Quando colamos o código a coisa fica feia… não dá para ler nada, a não ser que você formate o código para poucas colunas enquanto codifica ou antes de copiar para o blog.&lt;/p&gt;  &lt;p align="justify"&gt;E vocês, o que vocês usam para postar? Baixei alguns add-ins para o Live Writer, mas nenhum tem essa funcionalidade que é limitar o número de caracteres por linha e já formatar o código.&lt;/p&gt;  &lt;p align="justify"&gt;Abraços e por enquanto… I’m doing on MY WAY!!!!&lt;/p&gt;  &lt;p align="justify"&gt;Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6934502" width="1" height="1"&gt;</description></item><item><title>Já baixei os vídeos do PDC2008 e agora eu vou assistir…</title><link>http://weblogs.asp.net/marcochila/archive/2009/03/01/j-225-baixei-os-v-237-deos-do-pdc2008-e-agora-eu-vou-assistir.aspx</link><pubDate>Mon, 02 Mar 2009 02:40:19 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6934469</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=6934469</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/03/01/j-225-baixei-os-v-237-deos-do-pdc2008-e-agora-eu-vou-assistir.aspx#comments</comments><description>&lt;p align="justify"&gt;… hum, qual arquivo escolho? O BB37.WMV ou o PC53.WMV? Pois é, se você baixou mais de um arquivo (baixei tudo, deu mais de 60Gb… baixei faz tempo, é verdade, mas só agora estou organizando o disco para gravar isso tudo em DVD), deve ter percebido o nome muito explicativo deles. Pois não é que olhando melhor o diretório, percebemos que o título do arquivo tem o nome (quase) perfeito?&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/image_25F59B87.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/marcochila/image_thumb_1947A2D1.png" width="644" height="221" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Meu primeiro desafio como desenvolvedor foi verificar se existia um suporte nativo no .NET 3.5 para que essa informação seja acessada. Não tem ou se tem é tão bem escondida que eu não achei nem no MSDN e nem no Google…&lt;/p&gt;  &lt;p align="justify"&gt;Eis que começo a procurar um jeito e não encontro, não encontro, não encontro… Até que encontrei pesquisando no Google () um jeito de acessar essa informação através do componente COM Shell32. Vou ser sincero, sou um ignorante em Shell32…&lt;/p&gt;  &lt;p align="justify"&gt;Minha missão agora era acessar de forma programática a informação no título do arquivo e renomear o arquivo com esse nome…&lt;/p&gt;  &lt;p align="justify"&gt;Pois foi isso que o bloco de código abaixo fez e me ajudou muito… detalhe, os arquivos do MIX2008 estão do mesmo jeito… hehehe&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;Sub&lt;/span&gt; Main()&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; objShell &lt;span class="kwrd"&gt;As&lt;/span&gt; Shell&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; objFolder &lt;span class="kwrd"&gt;As&lt;/span&gt; Folder&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;Const&lt;/span&gt; Pasta &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = _&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="str"&gt;&amp;quot;C:\Documents and Settings\mchila\Desktop\PDC2008\&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        objShell = &lt;span class="kwrd"&gt;New&lt;/span&gt; Shell&lt;/pre&gt;

  &lt;pre class="alt"&gt;        objFolder = objShell.&lt;span class="kwrd"&gt;NameSpace&lt;/span&gt; _&lt;/pre&gt;

  &lt;pre&gt;            (&lt;span class="str"&gt;&amp;quot;C:\Documents and Settings\mchila\Desktop\PDC2008\&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;If&lt;/span&gt; (&lt;span class="kwrd"&gt;Not&lt;/span&gt; objFolder &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; objFolderItem &lt;span class="kwrd"&gt;As&lt;/span&gt; FolderItem&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; minhaPasta &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; IO.DirectoryInfo(Pasta)&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;For&lt;/span&gt; &lt;span class="kwrd"&gt;Each&lt;/span&gt; Arquivo &lt;span class="kwrd"&gt;As&lt;/span&gt; IO.FileInfo &lt;span class="kwrd"&gt;In&lt;/span&gt; minhaPasta.GetFiles&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                objFolderItem = objFolder.ParseName(Arquivo.Name)&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &lt;span class="kwrd"&gt;If&lt;/span&gt; (&lt;span class="kwrd"&gt;Not&lt;/span&gt; objFolderItem &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;                    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; szItem &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    szItem = objFolder.GetDetailsOf(objFolderItem, 10) _&lt;/pre&gt;

  &lt;pre&gt;                    .Replace(&lt;span class="str"&gt;&amp;quot;:&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;-&amp;quot;&lt;/span&gt;).Replace(&lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;) _&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    .Replace(&lt;span class="str"&gt;&amp;quot;?&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;).Replace(&lt;span class="str"&gt;&amp;quot;´&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot; &amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;                    Arquivo.CopyTo _&lt;/pre&gt;

  &lt;pre class="alt"&gt;                        (Pasta &amp;amp; szItem &amp;amp; Arquivo.Extension, &lt;span class="kwrd"&gt;True&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;                &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            objFolderItem = &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        objFolder = &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;        objShell = &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        Console.WriteLine(&lt;span class="str"&gt;&amp;quot;Pronto&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Pois bem, era isso.. só isso… não vou explicar o código, acho que não precisa… se alguém souber de alguma solução mais elegante, me avisa…&lt;/p&gt;

&lt;p&gt;Abraços…&lt;/p&gt;

&lt;p&gt;Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6934469" width="1" height="1"&gt;</description></item><item><title>Incompatibilidade com o IE8</title><link>http://weblogs.asp.net/marcochila/archive/2009/02/19/incompatibilidade-com-o-ie8.aspx</link><pubDate>Thu, 19 Feb 2009 15:46:06 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6916908</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=6916908</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/02/19/incompatibilidade-com-o-ie8.aspx#comments</comments><description>&lt;p align="justify"&gt;Pois é pessoal, o IE8 RC1 já está por aí há um bom tempo agora e a Microsoft, disponibilizou para download duas listas dos sites que serão exibidos em modo de compatibilidade. Para que você atualize as listas no seu computador, é necessário que esteja rodando o IE8 RC1, ok?&lt;/p&gt;  &lt;p align="justify"&gt;Se seu site estiver nessas listas, creio que com um pouco de esforço será possível adequá-lo. Se não estiver, teste seu site antes que seus usuários façam por você.&lt;/p&gt;  &lt;p align="justify"&gt;As listas podem ser encontradas em: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=705cb27a-0228-4d39-9b50-702e88db2e95&amp;amp;DisplayLang=en" target="_blank"&gt;Lista dos sites para XP&lt;/a&gt;; e&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d7ffb9b2-10d7-4f7e-bc72-252c4aab7359&amp;amp;DisplayLang=en" target="_blank"&gt;Lista dos sites para Vista&lt;/a&gt;.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Essas listas foram criadas com base na experiência de testadores ao redor do planeta e incluem diversos sites. Imagina-se que as atualizações dessas listas sejam enviadas aos usuários através do Windows Update, mas, por enquanto, isso são só rumores.&lt;/p&gt;  &lt;p align="justify"&gt;E só para vocês terem idéia temos nessas listas sites como:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Itaú em &lt;a href="http://www.itau.com.br"&gt;www.itau.com.br&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Bradesco em &lt;a href="http://www.bradesco.com.br"&gt;www.bradesco.com.br&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Submarino em &lt;a href="http://www.submarino.com.br"&gt;www.submarino.com.br&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Caixa em &lt;a href="http://www.caixa.gov.br"&gt;www.caixa.gov.br&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Prefeitura de SP em todo o sp.gov.br&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;E assim vai… abraços…&lt;/p&gt;  &lt;p align="justify"&gt;Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6916908" width="1" height="1"&gt;</description></item><item><title>Algumas telas legais do Windows 7</title><link>http://weblogs.asp.net/marcochila/archive/2009/01/20/algumas-telas-legais-do-windows-7.aspx</link><pubDate>Tue, 20 Jan 2009 12:02:53 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6846955</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=6846955</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/01/20/algumas-telas-legais-do-windows-7.aspx#comments</comments><description>&lt;p align="justify"&gt;Pessoal, andei pesquisando e achei um post muito legal com 30 dicas para o Windows 7, &lt;a href="http://blogs.msdn.com/tims/archive/2009/01/12/the-bumper-list-of-windows-7-secrets.aspx" target="_blank"&gt;aqui&lt;/a&gt;. Realmente muito útil, assim como eu espero que vocês também achem esse post aqui. Tudo bem que só tem tela e algumas pequenas explicações, mas, tá valendo…&lt;/p&gt;  &lt;p align="justify"&gt;Primeiro, meu desktop no Windows 7:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/Mywindows7desktop_5EFBC990.png" target="_blank"&gt;&lt;img title="My windows 7 desktop" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="184" alt="My windows 7 desktop" src="http://weblogs.asp.net/blogs/marcochila/Mywindows7desktop_thumb_7C050FD0.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Legal né? Percebam a taskbar. Tem algo diferente né? Pois então, essa é a nova taskbar do Windows 7. Vocês conseguem ver que existem alguns ícones nela que estão realçados? Então, esses ítens são os programas que resolvemos fixar na nova taskbar e que estão rodando. Eu achei uma grande sacada, afinal, na barra anterior, a QuickLaunch Toolbar, a gente tinha esses ícones mas quando clicava neles, eles apareciam de novo, do lado da QuickLaunch Toolbar.&lt;/p&gt;  &lt;p&gt;Como diria o comercial das facas Ginzu, mas espere, não é só isso… &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/customizetraynotification_5DE194E0.png" target="_blank"&gt;&lt;img title="customize tray notification" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="184" alt="customize tray notification" src="http://weblogs.asp.net/blogs/marcochila/customizetraynotification_thumb_2F1813FB.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Através desse ícone com a seta para cima, do lado do ícone do Windows Update, podemos personalizar quais itens serão exibidos e se queremos que as notificações para os mesmos sejam exibidos, assim:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/personalizartray_001285CC.png" target="_blank"&gt;&lt;img title="personalizar tray" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="184" alt="personalizar tray" src="http://weblogs.asp.net/blogs/marcochila/personalizartray_thumb_6A99A62B.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Bem legal… Então, mas voltando aos itens que agora ficam fixos na barra para que servem? Bem, para isso:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/Thenewtaskbar_46966640.png" target="_blank"&gt;&lt;img title="The new taskbar" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="184" alt="The new taskbar" src="http://weblogs.asp.net/blogs/marcochila/Thenewtaskbar_thumb_1BFA0F78.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Você tem uma miniatura da tela que estão rodando naquele processo e ainda, caso você seja um cegueta (sem maldade aos fundo de garrafa), quando você passar o mouse em cima de cada uma das miniaturas, você terá um preview das telas… asssim:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/taskdesk1_22232B1D.png"&gt;&lt;img title="task desk1" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="184" alt="task desk1" src="http://weblogs.asp.net/blogs/marcochila/taskdesk1_thumb_102FCCD3.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;E assim:&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/taskdesk2_67DD4826.png" target="_blank"&gt;&lt;img title="task desk2" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="184" alt="task desk2" src="http://weblogs.asp.net/blogs/marcochila/taskdesk2_thumb_51226058.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Showwwwwwwwwwwwwwwwwwwwwwww.&lt;/p&gt;  &lt;p align="justify"&gt;E agora um pequeno aplicativo que eu achei show de bola, e que é bem útil. Ele é o Sticky Notes, uma espécia de Post-it moderno (tudo bem a 3M já tinha feito um aplicativo desses, mas esse ficou bem legal… afinal, já vem com o Windows 7… heheh)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/marcochila/stickynote_41A7009C.png" target="_blank"&gt;&lt;img title="sticky note" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="184" alt="sticky note" src="http://weblogs.asp.net/blogs/marcochila/stickynote_thumb_4002DE0E.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Ah um último detalhe. Conforme disse no início desse post, as &lt;a href="http://blogs.msdn.com/tims/archive/2009/01/12/the-bumper-list-of-windows-7-secrets.aspx" target="_blank"&gt;30 dicas de Windows 7&lt;/a&gt; me ajudaram a achar esse Wallpaper. De acordo com o post, a Microsoft vai disponibilizar, de acordo com o idioma de instalação, Wallpapers personalizados, sendo assim, cada país tera a sua galeria de imagens… pequena mas estão lá… Achei desnecessário, mas interessante…&lt;/p&gt;  &lt;p align="justify"&gt;Abraços e é só por hora…até mais…&lt;/p&gt;  &lt;p&gt;Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6846955" width="1" height="1"&gt;</description></item><item><title>Windows 7 – Como meus aplicativos estão rodando…</title><link>http://weblogs.asp.net/marcochila/archive/2009/01/19/windows-7-como-meus-aplicativos-est-227-o-rodando.aspx</link><pubDate>Mon, 19 Jan 2009 11:52:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6844589</guid><dc:creator>marcochila</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/marcochila/rsscomments.aspx?PostID=6844589</wfw:commentRss><comments>http://weblogs.asp.net/marcochila/archive/2009/01/19/windows-7-como-meus-aplicativos-est-227-o-rodando.aspx#comments</comments><description>&lt;p align="justify"&gt;Pessoal, eu já disse antes que gostei muito da experiência que estou tendo com o Windows 7 64 bits - Beta 1. Estável, raído e intuitivo. Meus filhos, que tem 5 anos, e nunca tinham visto antes (tudo bem, eles usavam meu vista e a interface não mudou tanto) jogaram, entraram na internet etc, enfim usaram como se fosse a coisa mais natural do mundo.&lt;/p&gt;  &lt;p align="justify"&gt;Como um cara que gosta de videogame, não podia deixar de jogar no Windows 7&amp;#160; e para isso, usei um jogo velhinho, mas que gosto muito: Quake 4. Funcionou muito bem e eu só notei uma coisa estranha: algumas vezes, não sei porquê, alguns monstrengos, ficam meio tontos e andando em círculos. Isso nunca tinha acontecido antes, quando eu rodava o jogo no XP/Vista. Não sei se tem a ver com a versão do Windows 7 ser 64, mas, enfim, como eles ficam rodando como bestas e não me atacam não achei tão ruim assim…&lt;/p&gt;  &lt;p align="justify"&gt;Office 2007, funcinamento perfeito. Como todo o resto do meu sistema. Windows Live Essentials, que tem uma bela diferença: no Windows 7 o pacote inclui a instalação do Silverlight.&lt;/p&gt;  &lt;p align="justify"&gt;Bem, é isso, estou gostando muito e espero que vocês também estejam. Se sua máquina funcionava legal com o Windows Vista, vai funcionar melhor ainda com o Windows 7. Minha nota, saltou de 3.1 com o Vista para 3.5 com o Windows 7 (tudo isso porquê eu tenho uma placa de vídeo chinfrim…).&lt;/p&gt;  &lt;p align="justify"&gt;Abraços…&lt;/p&gt;  &lt;p align="justify"&gt;Chilá!@!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6844589" width="1" height="1"&gt;</description></item></channel></rss>