<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2portuguesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.paulomorgado.net/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0"><channel><title>Paulo Morgado [PT]</title><link>http://paulomorgado.net/pt/</link><description>.NET e Arquitectura e Engenharia de Software</description><dc:language /><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license><image><link>http://www.arquitecturadesoftware.org/blogs/paulomorgado/</link><url>http://www.arquitecturadesoftware.org/users/avatar.aspx?userid=2125</url><title>Paulo Morgado</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="rua chanceler-mor, cacém, portugal" type="application/rss+xml" /><feedburner:emailServiceId>PauloMorgadoPT</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/rua chanceler-mor, cacém, portugal" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=rua%20chanceler-mor%2C%20cac%C3%A9m%2C%20portugal" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:browserFriendly>.NET e Arquitectura e Engenharia de Software</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>MVP Pela Sétima Vez Consecutiva</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/-Gf57G1t81U/mvp-pela-s-233-tima-vez-consecutiva.aspx</link><pubDate>Wed, 01 Jul 2009 22:29:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:28101</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=28101</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=28101</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-233-tima-vez-consecutiva.aspx#comments</comments><description>&lt;p&gt;Ao fim de sete vezes, ainda sinto que &amp;eacute; uma honra pertencer a t&amp;atilde;o ilustre grupo.&lt;/p&gt;
&lt;p&gt;E &amp;eacute; com grande satisfa&amp;ccedil;&amp;atilde;o que escrevo esta entrada no novo s&amp;iacute;tio do &lt;a target="_blank" href="http://pontonetpt.com/" title="[:: PontoNetPT - .NET em Portugu&amp;ecirc;s(PT) ::]"&gt;PontoNetPT&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pois &amp;eacute;, ao fim de muitos testes e tentativas, conseguimos migrar os blogues do PontoNetPT da antiga plataforma para uma plataforma &lt;a target="_blank" href="http://communityserver.com/" title="Community Software by Telligent | Community Server for Enterprise"&gt;Community Server&lt;/a&gt; (gentilmente oferecida pela &lt;a target="_blank" href="http://telligent.com/" title="Collaboration Software | Enterprise Online Community by Telligent"&gt;Telligent&lt;/a&gt;).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=28101" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=28101" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=28101" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/kqt32FBMqhw" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=-Gf57G1t81U:-mazGFJyc9A:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=-Gf57G1t81U:-mazGFJyc9A:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=-Gf57G1t81U:-mazGFJyc9A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=-Gf57G1t81U:-mazGFJyc9A:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=-Gf57G1t81U:-mazGFJyc9A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=-Gf57G1t81U:-mazGFJyc9A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=-Gf57G1t81U:-mazGFJyc9A:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=-Gf57G1t81U:-mazGFJyc9A:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/-Gf57G1t81U" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Comunidade/default.aspx">Comunidade</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/MVP/default.aspx">MVP</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/CommunityServer/default.aspx">CommunityServer</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/PontoNetPT/default.aspx">PontoNetPT</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/07/01/mvp-pela-s-233-tima-vez-consecutiva.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/kqt32FBMqhw/mvp-pela-s-233-tima-vez-consecutiva.aspx</feedburner:origLink></item><item><title>Registo Aberto Para O Microsoft Tech•Ed Europe 2009</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/tw1z_wBFnbQ/P29403.aspx</link><pubDate>Tue, 23 Jun 2009 00:44:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1868</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1868</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1868</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/23/P29403.aspx#comments</comments><description>&lt;div style="background-image:url(http://www.msteched.com/resources/Content_Files/EU_Header_screen.jpg);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; 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 style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1868" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1868" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1868" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/DY5r4MZiFJo" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=tw1z_wBFnbQ:T1sYpqeUac4:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=tw1z_wBFnbQ:T1sYpqeUac4:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=tw1z_wBFnbQ:T1sYpqeUac4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=tw1z_wBFnbQ:T1sYpqeUac4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=tw1z_wBFnbQ:T1sYpqeUac4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=tw1z_wBFnbQ:T1sYpqeUac4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=tw1z_wBFnbQ:T1sYpqeUac4:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=tw1z_wBFnbQ:T1sYpqeUac4:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/tw1z_wBFnbQ" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/TechEd2009/default.aspx">TechEd2009</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/TechNet/default.aspx">TechNet</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/23/P29403.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/DY5r4MZiFJo/P29403.aspx</feedburner:origLink></item><item><title>Brincando Com SQL Server CLR Integration – Parte IV (Instalando Em SQL Server 2005)</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/G_wJ-w27zX8/P29379.aspx</link><pubDate>Mon, 15 Jun 2009 00:00:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1867</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1867</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1867</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/15/P29379.aspx#comments</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;&amp;#39;...\MyAssembly.dll&amp;#39;
&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 &amp;#39;MyAssembly&amp;#39; references assembly &amp;#39;system.xml.linq, version=3.5.0.0, culture=neutral, publickeytoken=b77a5c561934e089.&amp;#39;,
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;&amp;#39;C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll&amp;#39;
&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 &amp;#39;system.core, version=3.5.0.0, culture=neutral, publickeytoken=b77a5c561934e089, processorarchitecture=msil.&amp;#39; 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 &amp;#39;System.Core&amp;#39; failed because assembly &amp;#39;System.Core&amp;#39; 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 &amp;#39;System.String&amp;#39;] 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 &amp;#39;System.String&amp;#39;] 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;&amp;#39;...\MyAssembly.dll&amp;#39;
&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 &amp;#39;system.core, version=3.5.0.0, culture=neutral, publickeytoken=b77a5c561934e089, processorarchitecture=msil.&amp;#39; 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 &amp;#39;System.Core&amp;#39; failed because assembly &amp;#39;System.Core&amp;#39; 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;&amp;#39;C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll&amp;#39;
&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;&amp;#39;C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Xml.Linq.dll&amp;#39;
&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 &amp;#39;ShortPropsToXml&amp;#39; on type &amp;#39;ShortProps&amp;#39;  in safe assembly &amp;#39;Esi.SA.Encyclopedia&amp;#39; 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 style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1867" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1867" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1867" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/y7ipXvFa6Bc" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=G_wJ-w27zX8:WQEzZDIlHqk:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=G_wJ-w27zX8:WQEzZDIlHqk:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=G_wJ-w27zX8:WQEzZDIlHqk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=G_wJ-w27zX8:WQEzZDIlHqk:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=G_wJ-w27zX8:WQEzZDIlHqk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=G_wJ-w27zX8:WQEzZDIlHqk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=G_wJ-w27zX8:WQEzZDIlHqk:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=G_wJ-w27zX8:WQEzZDIlHqk:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/G_wJ-w27zX8" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer2005/default.aspx">SQLServer2005</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLCLR/default.aspx">SQLCLR</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/15/P29379.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/y7ipXvFa6Bc/P29379.aspx</feedburner:origLink></item><item><title>Brincando Com SQL Server CLR Integration – Parte III</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/xTvpx3K_prI/P29378.aspx</link><pubDate>Sun, 14 Jun 2009 23:49:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1866</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1866</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1866</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/15/P29378.aspx#comments</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 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 style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1866" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1866" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1866" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/iq03zK0rihE" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=xTvpx3K_prI:oyypdyuiQkc:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=xTvpx3K_prI:oyypdyuiQkc:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=xTvpx3K_prI:oyypdyuiQkc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=xTvpx3K_prI:oyypdyuiQkc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=xTvpx3K_prI:oyypdyuiQkc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=xTvpx3K_prI:oyypdyuiQkc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=xTvpx3K_prI:oyypdyuiQkc:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=xTvpx3K_prI:oyypdyuiQkc:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/xTvpx3K_prI" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer2008/default.aspx">SQLServer2008</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer2005/default.aspx">SQLServer2005</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLCLR/default.aspx">SQLCLR</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/15/P29378.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/iq03zK0rihE/P29378.aspx</feedburner:origLink></item><item><title>Brincando Com SQL Server CLR Integration – Parte II</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/ifCCk2vx89s/P29377.aspx</link><pubDate>Sun, 14 Jun 2009 23:41:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1865</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1865</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1865</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/15/P29377.aspx#comments</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;&amp;#39;...\MyAssembly.dll&amp;#39;
&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;&amp;#39;[[[name1]]]
value1
[[[name2]]]
value2
[[[name3]]]
value3
&amp;#39;
&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;&amp;#39;replace value of (/ShortProps/p[@n=&amp;quot;name2&amp;quot;]/text())[1] with &amp;quot;new value2&amp;quot;&amp;#39;&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;&amp;#39;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]&amp;#39;&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;&amp;#39;delete (/ShortProps/p[@n=&amp;quot;name3&amp;quot;])[1]&amp;#39;&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;&amp;#39;./@n&amp;#39;&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;nvarchar(max)&amp;#39;&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;&amp;#39;.&amp;#39;&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;nvarchar(max)&amp;#39;&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;&amp;#39;/ShortProps/p&amp;#39;&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;tbody&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;/tbody&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 style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1865" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1865" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1865" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/_phNmVAH8M8" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=ifCCk2vx89s:PaDwRL892HY:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=ifCCk2vx89s:PaDwRL892HY:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=ifCCk2vx89s:PaDwRL892HY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=ifCCk2vx89s:PaDwRL892HY:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=ifCCk2vx89s:PaDwRL892HY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=ifCCk2vx89s:PaDwRL892HY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=ifCCk2vx89s:PaDwRL892HY:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=ifCCk2vx89s:PaDwRL892HY:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/ifCCk2vx89s" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer2008/default.aspx">SQLServer2008</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer2005/default.aspx">SQLServer2005</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLCLR/default.aspx">SQLCLR</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/15/P29377.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/_phNmVAH8M8/P29377.aspx</feedburner:origLink></item><item><title>Brincando Com SQL Server CLR Integration – Parte I</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/daFLHXxPb3M/P29375.aspx</link><pubDate>Sun, 14 Jun 2009 23:05:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1864</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1864</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1864</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/15/P29375.aspx#comments</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;&amp;#39;...\MyAssembly.dll&amp;#39;
&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;&amp;#39;clr enabled&amp;#39;&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  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 style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1864" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1864" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1864" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/a-rPvGOuUnU" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=daFLHXxPb3M:QW26PzmKyX0:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=daFLHXxPb3M:QW26PzmKyX0:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=daFLHXxPb3M:QW26PzmKyX0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=daFLHXxPb3M:QW26PzmKyX0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=daFLHXxPb3M:QW26PzmKyX0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=daFLHXxPb3M:QW26PzmKyX0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=daFLHXxPb3M:QW26PzmKyX0:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=daFLHXxPb3M:QW26PzmKyX0:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/daFLHXxPb3M" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer2008/default.aspx">SQLServer2008</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer2005/default.aspx">SQLServer2005</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLCLR/default.aspx">SQLCLR</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/15/P29375.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/a-rPvGOuUnU/P29375.aspx</feedburner:origLink></item><item><title>Salvo Pelo Microsoft URL Rewrite Module 1.1 Para O IIS 7</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/R1mnN2H9IXM/P29234.aspx</link><pubDate>Mon, 01 Jun 2009 00:17:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1863</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1863</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1863</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/01/P29234.aspx#comments</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 style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1863" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1863" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1863" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/rR266_St7uk" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=R1mnN2H9IXM:VZpCmPA3sg4:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=R1mnN2H9IXM:VZpCmPA3sg4:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=R1mnN2H9IXM:VZpCmPA3sg4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=R1mnN2H9IXM:VZpCmPA3sg4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=R1mnN2H9IXM:VZpCmPA3sg4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=R1mnN2H9IXM:VZpCmPA3sg4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=R1mnN2H9IXM:VZpCmPA3sg4:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=R1mnN2H9IXM:VZpCmPA3sg4:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/R1mnN2H9IXM" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/WindowsServer2008/default.aspx">WindowsServer2008</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/CommunityServer/default.aspx">CommunityServer</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/06/01/P29234.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/rR266_St7uk/P29234.aspx</feedburner:origLink></item><item><title>A Typemock Está A Lançar O ASP.NET Bundle – E Oferece Licenças Grátis</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/UTuyW7gLnQM/P29168.aspx</link><pubDate>Mon, 18 May 2009 23:19:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1862</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1862</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1862</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/19/P29168.aspx#comments</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&amp;#39;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 style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1862" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1862" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1862" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/_qbh23mjK48" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UTuyW7gLnQM:XQXKZr2kRRQ:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UTuyW7gLnQM:XQXKZr2kRRQ:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UTuyW7gLnQM:XQXKZr2kRRQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UTuyW7gLnQM:XQXKZr2kRRQ:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UTuyW7gLnQM:XQXKZr2kRRQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UTuyW7gLnQM:XQXKZr2kRRQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UTuyW7gLnQM:XQXKZr2kRRQ:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UTuyW7gLnQM:XQXKZr2kRRQ:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/UTuyW7gLnQM" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Testes/default.aspx">Testes</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/TypeMock/default.aspx">TypeMock</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/UnitTests/default.aspx">UnitTests</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/19/P29168.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/_qbh23mjK48/P29168.aspx</feedburner:origLink></item><item><title>Livro LINQ Com C# Já Saíu</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/_DGIIiYlVmQ/P29162.aspx</link><pubDate>Mon, 18 May 2009 06:33:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1861</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1861</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1861</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/18/P29162.aspx#comments</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;tbody&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;/tbody&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 style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1861" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1861" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1861" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/EDzwdpuFwIc" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=_DGIIiYlVmQ:lx83_X8Cg4Y:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=_DGIIiYlVmQ:lx83_X8Cg4Y:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=_DGIIiYlVmQ:lx83_X8Cg4Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=_DGIIiYlVmQ:lx83_X8Cg4Y:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=_DGIIiYlVmQ:lx83_X8Cg4Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=_DGIIiYlVmQ:lx83_X8Cg4Y:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=_DGIIiYlVmQ:lx83_X8Cg4Y:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=_DGIIiYlVmQ:lx83_X8Cg4Y:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/_DGIIiYlVmQ" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Livros/default.aspx">Livros</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/VisualBasic/default.aspx">VisualBasic</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/18/P29162.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/EDzwdpuFwIc/P29162.aspx</feedburner:origLink></item><item><title>Como Visualizar O Caminho Dos Ficheiros Encontrados Pelo Windows Search</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/kBdscQnH53I/P29160.aspx</link><pubDate>Sun, 17 May 2009 21:11:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1860</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1860</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1860</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/17/P29160.aspx#comments</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  &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 style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1860" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1860" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1860" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/wlaG900yWBU" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=kBdscQnH53I:EWce_ld-4Bc:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=kBdscQnH53I:EWce_ld-4Bc:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=kBdscQnH53I:EWce_ld-4Bc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=kBdscQnH53I:EWce_ld-4Bc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=kBdscQnH53I:EWce_ld-4Bc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=kBdscQnH53I:EWce_ld-4Bc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=kBdscQnH53I:EWce_ld-4Bc:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=kBdscQnH53I:EWce_ld-4Bc:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/kBdscQnH53I" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Windows/default.aspx">Windows</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Windows7/default.aspx">Windows7</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/WindowsVista/default.aspx">WindowsVista</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/17/P29160.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/wlaG900yWBU/P29160.aspx</feedburner:origLink></item><item><title>Microsoft MSDN Webcasts | Ferramentas de Desenvolvimento [nível 100]</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/UA51DsjFlAs/P29121.aspx</link><pubDate>Sun, 10 May 2009 23:48:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1859</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1859</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1859</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/11/P29121.aspx#comments</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" alt="" /&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; 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="background-image:url(http://www.microsoft.com/library/media/2070/portugal/msdn/media/PedroRosa.jpg);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  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;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1859" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1859" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1859" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/zducgt7joKA" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UA51DsjFlAs:MO7atA_POdk:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UA51DsjFlAs:MO7atA_POdk:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UA51DsjFlAs:MO7atA_POdk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UA51DsjFlAs:MO7atA_POdk:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UA51DsjFlAs:MO7atA_POdk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UA51DsjFlAs:MO7atA_POdk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=UA51DsjFlAs:MO7atA_POdk:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=UA51DsjFlAs:MO7atA_POdk:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/UA51DsjFlAs" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Desenvolvimento/default.aspx">Desenvolvimento</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/VisualStudio2008/default.aspx">VisualStudio2008</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/WCF/default.aspx">WCF</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/WPF/default.aspx">WPF</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/11/P29121.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/zducgt7joKA/P29121.aspx</feedburner:origLink></item><item><title>Copia Do Sistema vs. Cópia Do Negócio</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/PihPDyDIfgY/P29120.aspx</link><pubDate>Sun, 10 May 2009 22:35:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1858</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1858</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1858</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/10/P29120.aspx#comments</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;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1858" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1858" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1858" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/Om7cKVH1TlM" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=PihPDyDIfgY:fPo54fnHXlY:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=PihPDyDIfgY:fPo54fnHXlY:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=PihPDyDIfgY:fPo54fnHXlY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=PihPDyDIfgY:fPo54fnHXlY:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=PihPDyDIfgY:fPo54fnHXlY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=PihPDyDIfgY:fPo54fnHXlY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=PihPDyDIfgY:fPo54fnHXlY:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=PihPDyDIfgY:fPo54fnHXlY:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/PihPDyDIfgY" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Arquitectura/default.aspx">Arquitectura</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/10/P29120.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/Om7cKVH1TlM/P29120.aspx</feedburner:origLink></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://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/EONJq9cooUg/P29048.aspx</link><pubDate>Sun, 03 May 2009 23:48:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1857</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1857</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1857</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/04/P29048.aspx#comments</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  – 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;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1857" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1857" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1857" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/n1kpcP0WFKw" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=EONJq9cooUg:pn9Fvo94rks:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=EONJq9cooUg:pn9Fvo94rks:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=EONJq9cooUg:pn9Fvo94rks:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=EONJq9cooUg:pn9Fvo94rks:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=EONJq9cooUg:pn9Fvo94rks:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=EONJq9cooUg:pn9Fvo94rks:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=EONJq9cooUg:pn9Fvo94rks:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=EONJq9cooUg:pn9Fvo94rks:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/EONJq9cooUg" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/SQLServer/default.aspx">SQLServer</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/TipsAndTricks/default.aspx">TipsAndTricks</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Windows/default.aspx">Windows</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/05/04/P29048.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/n1kpcP0WFKw/P29048.aspx</feedburner:origLink></item><item><title>DevDays09 &gt; Best Of ... – Gravações Disponíveis</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/JpU1grHqCwk/P29016.aspx</link><pubDate>Tue, 28 Apr 2009 00:58:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1856</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1856</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1856</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/04/28/P29016.aspx#comments</comments><description>&lt;div&gt;   &lt;table style="width:630px;border-collapse:collapse;" border="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td style="padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;padding-top:0cm;" valign="top"&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; — 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;/tbody&gt;&lt;/table&gt; &lt;/div&gt;
&lt;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1856" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1856" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1856" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/4RewdXWcXSY" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=JpU1grHqCwk:6ez2J0wOoVI:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=JpU1grHqCwk:6ez2J0wOoVI:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=JpU1grHqCwk:6ez2J0wOoVI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=JpU1grHqCwk:6ez2J0wOoVI:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=JpU1grHqCwk:6ez2J0wOoVI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=JpU1grHqCwk:6ez2J0wOoVI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=JpU1grHqCwk:6ez2J0wOoVI:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=JpU1grHqCwk:6ez2J0wOoVI:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/JpU1grHqCwk" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/.NET/default.aspx">.NET</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/DevDays/default.aspx">DevDays</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/DevDays09/default.aspx">DevDays09</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/EntityFramework/default.aspx">EntityFramework</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Web/default.aspx">Web</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Windows/default.aspx">Windows</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Windows7/default.aspx">Windows7</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/WindowsAzure/default.aspx">WindowsAzure</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/04/28/P29016.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/4RewdXWcXSY/P29016.aspx</feedburner:origLink></item><item><title>Falando De Windows</title><link>http://feeds.paulomorgado.net/~r/PauloMorgadoPT/~3/E8VJOUtiNHw/P29014.aspx</link><pubDate>Mon, 27 Apr 2009 23:50:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:1855</guid><dc:creator>Paulo Morgado</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://pontonetpt.com/blogs/paulomorgado/rsscomments.aspx?PostID=1855</wfw:commentRss><wfw:comment>http://pontonetpt.com/blogs/paulomorgado/commentapi.aspx?PostID=1855</wfw:comment><comments>http://pontonetpt.com/blogs/paulomorgado/archive/2009/04/28/P29014.aspx#comments</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;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=1855" width="1" height="1"&gt;
&lt;div class="feed_ad"&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1855" class="feed_ad"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=b54bb5e123554ed4bf08aed024c53573&amp;u=1855" border="0" class="feed_ad"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgado/Blogs/PT/~4/D9Kn5iWasdE" height="1" width="1"/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=E8VJOUtiNHw:UrD3d-cKsCs:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:wF9xT3WuBAs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=E8VJOUtiNHw:UrD3d-cKsCs:wF9xT3WuBAs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=E8VJOUtiNHw:UrD3d-cKsCs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=E8VJOUtiNHw:UrD3d-cKsCs:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=E8VJOUtiNHw:UrD3d-cKsCs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=E8VJOUtiNHw:UrD3d-cKsCs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.paulomorgado.net/~ff/PauloMorgadoPT?a=E8VJOUtiNHw:UrD3d-cKsCs:kZPkksuLl5A"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PauloMorgadoPT?i=E8VJOUtiNHw:UrD3d-cKsCs:kZPkksuLl5A" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PauloMorgadoPT/~4/E8VJOUtiNHw" height="1" width="1"/&gt;</description><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Windows/default.aspx">Windows</category><category domain="http://pontonetpt.com/blogs/paulomorgado/archive/tags/Windows7/default.aspx">Windows7</category><feedburner:origLink>http://pontonetpt.com/blogs/paulomorgado/archive/2009/04/28/P29014.aspx</feedburner:origLink><feedburner:origLink>http://feeds.paulomorgado.net/~r/PauloMorgado/Blogs/PT/~3/D9Kn5iWasdE/P29014.aspx</feedburner:origLink></item></channel></rss>
