<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results for 'app:weblogs' matching tag 'ASP.NET'</title><link>http://msmvps.com/search/SearchResults.aspx?q=app:weblogs&amp;tag=ASP.NET&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tag 'ASP.NET'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Recursos destacados en MSDN ASP.NET Home</title><link>http://msmvps.com/blogs/cwalzer/archive/2009/10/21/recursos-destacados-msdn-asp-net.aspx</link><pubDate>Wed, 21 Oct 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1733993</guid><dc:creator>cwalzer</dc:creator><description>&lt;p&gt;Me ha tocado la grata tarea de seleccionar y promover los links que se listan en la secci&amp;oacute;n de &lt;a target="_blank" href="http://msdn.microsoft.com/es-ar/asp.net/default.aspx"&gt;Recursos Destacados de MSDN ASP.NET Home&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La idea es promover art&amp;iacute;culos originales de autores de la comunidad de habla hispana, sobre temas de desarrollo Web. Estar&amp;eacute; seleccionando unos 10 art&amp;iacute;culos al mes.&lt;/p&gt;
&lt;p&gt;Algunos temas de ejemplo: ASP.NET, Silverlight, IIS, Seguridad, AJAX, IE, ASP.NET MVC, ASP.NET 4.0&lt;/p&gt;
&lt;p&gt;Si encuentras alg&amp;uacute;n art&amp;iacute;culo interesante o quieres promover el tuyo, comun&amp;iacute;cate conmigo v&amp;iacute;a &lt;a href="http://twitter.com/cwalzer" title="http://twitter.com/cwalzer"&gt;http://twitter.com/cwalzer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Saludos&lt;/p&gt;</description></item><item><title>Nederlandse CodeCamp 2009</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2009/10/19/nederlandse-codecamp-2009.aspx</link><pubDate>Mon, 19 Oct 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1732965</guid><dc:creator>Maurice</dc:creator><description>&lt;p&gt;Op 21 november 2009 organiseren de &lt;a href="http://www.sdn.nl"&gt;SDN&lt;/a&gt;, &lt;a href="http://www.dotned.nl"&gt;Stichting dotNed&lt;/a&gt; en &lt;a href="http://www.VBcentral.nl"&gt;VBcentral&lt;/a&gt; samen het derde Nederlandse &lt;a href="http://www.codecamp.nl"&gt;Code Camp&lt;/a&gt;. Dit is een dag lang met code, code sharing, freaking en gezellig samenzijn. Een evenement door ontwikkelaars, voor ontwikkelaars. De regie ligt voor een belangrijk deel bij de deelnemers! Het aantal plaatsen voor deelnemers is wel beperkt tot maximaal 150. Wacht dus niet te lang met beslissen want voor je het weet is er geen plaats meer. Vergeet bij je aanmelding niet op te geven welke onderwerpen je interesse hebben. Bovendien nodigen we iedereen graag uit om zelf een sessie in te vullen.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Op de website, &lt;a href="http://www.codecamp.nl"&gt;www.codecamp.nl&lt;/a&gt;, vind je meer informatie en kan je je aanmelden.&lt;/p&gt;</description></item><item><title>Rick’s tip on ASP.NET client IDs + JQuery</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/10/15/rick-s-tip-on-asp-net-client-ids-jquery.aspx</link><pubDate>Thu, 15 Oct 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1732556</guid><dc:creator>luisabreu</dc:creator><description>&lt;p&gt;&lt;a href="http://west-wind.com/weblog/"&gt;Rick Strahl&lt;/a&gt; has an interesting &lt;a href="http://feedproxy.google.com/~r/RickStrahl/~3/x5Lv96f1OnE/42319.aspx"&gt;post&lt;/a&gt; on how you might use &lt;a href="http://jquery.com/"&gt;JQuery’s&lt;/a&gt; powerful selector syntax to get a reference to an ASP.NET control placed inside a naming container. Pretty cool stuff :)&lt;/p&gt;</description></item><item><title>Web Application Tool Kit released</title><link>http://msmvps.com/blogs/sundar_narasiman/archive/2009/09/30/web-application-tool-kit-releasede.aspx</link><pubDate>Wed, 30 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1728581</guid><dc:creator>lavssun</dc:creator><description>&lt;p&gt;Microsoft launched a number of Web Application Toolkits. &lt;/p&gt;
&lt;p&gt;What is a web application ToolKit ?&lt;/p&gt;
&lt;p&gt;Web Application Toolkits provide the packaged set of running samples, templates and documentation that enables the web developers to extend their web application capabilities&lt;/p&gt;
&lt;p&gt;In the Microsoft WebSiteSpark launch, 7 Web Application Toolkits has been released. &lt;/p&gt;
&lt;table width="1126" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="248" valign="top"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/0508.ie8_5F00_77B4E262.png"&gt;&lt;img height="184" width="244" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/5707.ie8_5F00_thumb_5F00_28D41D03.png" alt="ie8" border="0" title="ie8" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/td&gt;
&lt;td width="876" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=163659"&gt;Web Application Toolkit for Internet Explorer 8 Extensibility&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/jsenior/Web-Application-Toolkit-Internet-Explorer-8-Extensibility/"&gt;Check out the accompanying screencast.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="248" valign="top"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/2555.bingsearch_5F00_012DA0D9.png"&gt;&lt;img height="177" width="244" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/2158.bingsearch_5F00_thumb_5F00_4E5D9A64.png" alt="bingsearch" border="0" title="bingsearch" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;td width="876" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=163657"&gt;Web Application Toolkit for Bing Search&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="248" valign="top"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/3125.webtoolkitforrest_5F00_1B8D93F0.png"&gt;&lt;img height="189" width="244" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/3125.webtoolkitforrest_5F00_thumb_5F00_0CE2E80B.png" alt="web toolkit for rest" border="0" title="web toolkit for rest" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;td width="876" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://code.msdn.microsoft.com/WebAppToolkitREST"&gt;Web Application Toolkit for REST Services&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/LostInTangent/Web-Application-Toolkit-REST-Services"&gt;Check out the accompanying screencast.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="248" valign="top"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/1588.mobilewebapps_5F00_19709527.jpg"&gt;&lt;img height="149" width="244" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/7532.mobilewebapps_5F00_thumb_5F00_1D0EB004.jpg" alt="mobile webapps" border="0" title="mobile webapps" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;td width="876" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=163654"&gt;Web Application Toolkit for Mobile Web Applications&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/LostInTangent/Web-Application-Toolkit-Mobile-Web-Applications"&gt;Check out the accompanying screencast&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="248" valign="top"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/6763.webmail_5F00_4A8FCFC7.png"&gt;&lt;img height="172" width="244" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/4300.webmail_5F00_thumb_5F00_57F5E2CD.png" alt="webmail" border="0" title="webmail" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;td width="876" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://code.msdn.microsoft.com/WebAppToolkitEmail"&gt;Web Application Toolkit for Template-Driven Email&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/LostInTangent/Web-Application-Toolkit-Template-Driven-Emails"&gt;Check out the accompanying screencast.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="248" valign="top"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/4380.websocial_5F00_773889A0.png"&gt;&lt;img height="158" width="244" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/5488.websocial_5F00_thumb_5F00_0F5BF3FC.png" alt="web social" border="0" title="web social" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;td width="876" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=163656"&gt;Web Application Toolkit for making Your Web Site Social&lt;/a&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/jsenior/Web-Application-Toolkits-Make-your-website-Social/"&gt;Check out the accompanying screencast.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="248" valign="top"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/2161.faqs_5F00_67B577D1.png"&gt;&lt;img height="128" width="244" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sundar_5F00_narasiman.metablogapi/8510.faqs_5F00_thumb_5F00_472E381F.png" alt="faqs" border="0" title="faqs" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;td width="876" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=163658"&gt;Web Application Toolkit for FAQs&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/jsenior/Web-Application-Toolkits-FAQ/"&gt;Check out the accompanying screencast.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>7 tips for for loading Javascript rich Web 2.0-like sites significantly faster</title><link>http://msmvps.com/blogs/omar/archive/2009/09/25/7-tips-for-for-loading-javascript-rich-web-2-0-like-sites-significantly-faster.aspx</link><pubDate>Fri, 25 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1726818</guid><dc:creator>omar</dc:creator><description>&lt;h2&gt;Introduction&lt;/h2&gt;  &lt;p&gt;When you create rich Ajax application, you use external JavaScript frameworks and you have your own homemade code that drives your application. The problem with well known JavaScript framework is, they offer rich set of features which are not always necessary in its entirety. You may end up using only 30% of jQuery but you still download the full jQuery framework. So, you are downloading 70% unnecessary scripts. Similarly, you might have written your own javascripts which are not always used. There might be features which are &lt;strong&gt;not&lt;/strong&gt; used when the site loads for the first time, resulting in unnecessary download during initial load. Initial loading time is crucial – it can make or break your website. We did some analysis and found that every 500ms we added to initial loading, we lost approx 30% traffic who never wait for the whole page to load and just close browser or go away. So, saving initial loading time, even by couple of hundred milliseconds, is crucial for survival of a startup, especially if it’s a Rich AJAX website.&lt;/p&gt;  &lt;p&gt;You must have noticed Microsoft’s new tool &lt;a title="Doloto download optimizer" href="http://research.microsoft.com/en-us/projects/doloto/"&gt;Doloto&lt;/a&gt; which helps solve the following problem:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Modern Web 2.0 applications, such as GMail, Live Maps, Facebook and many others, use a combination of Dynamic HTML, JavaScript and other Web browser technologies commonly referred as AJAX to push page generation and content manipulation to the client web browser. This improves the responsiveness of these network-bound applications, but the shift of application execution from a back-end server to the client also often dramatically increases the amount of code that must first be downloaded to the browser. This creates an unfortunate Catch-22: to create responsive distributed Web 2.0 applications developers move code to the client, but for an application to be responsive, the code must first be transferred there, which takes time.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Microsoft Research looked at this problem and published &lt;a title="Doloto Research Papper" href="http://research.microsoft.com/en-us/projects/doloto/fse08.pdf"&gt;this research paper in 2008&lt;/a&gt;, where they showed how much improvement can be achieved on initial loading if there was a way to split the javascripts frameworks into two parts – one primary part which is absolutely essential for initial rendering of the page and one auxiliary part which is not essential for initial load and can be downloaded later or on-demand when user does some action. They looked at my earlier startup &lt;a title="Web 2.0 Start Page" href="http://www.pageflakes.com"&gt;Pageflakes&lt;/a&gt; and reported:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;2.2.2 Dynamic Loading: Pageflakes      &lt;br /&gt;A contrast to Bunny Hunt is the &lt;a title="Pageflakes Web 2.0 start page" href="http://www.pageflakes.com"&gt;Pageflakes&lt;/a&gt; application, an       &lt;br /&gt;industrial-strength mashup page providing portal-like functionality.       &lt;br /&gt;While the download size for Pageflakes is over 1 MB, its initial       &lt;br /&gt;execution time appears to be quite fast. Examining network activity       &lt;br /&gt;reveals that Pageflakes downloads only a small stub of code       &lt;br /&gt;with the initial page, and loads the rest of its code dynamically in       &lt;br /&gt;the background. As illustrated by Pageflakes, developers today can       &lt;br /&gt;use dynamic code loading to improve their web application’s performance.       &lt;br /&gt;However, designing an application architecture that is       &lt;br /&gt;amenable to dynamic code loading requires careful consideration       &lt;br /&gt;of JavaScript language issues such as function closures, scoping,       &lt;br /&gt;etc. Moreover, an optimal decomposition of code into dynamically       &lt;br /&gt;loaded components often requires developers to set aside the semantic       &lt;br /&gt;groupings of code and instead primarily consider the execution       &lt;br /&gt;order of functions. Of course, evolving code and changing       &lt;br /&gt;user workloads make both of these issues a software maintenance       &lt;br /&gt;nightmare.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Back in 2007, I was looking at ways to improve the initial load time and reduce user dropout. The number of users who would not wait for the page to load and go away was growing day by day as we introduced new and cool features. It was a surprise. We thought new features will keep more users on our site but the opposite happened. Analysis concluded it was the initial loading time that caused more dropout than it retained users. So, all our hard work was essentially going to drain and we had to come up with something ground breaking to solve the problem. Of course we had already tried all the basic stuffs – &lt;a title="IIS 6 compression setup quick and easy way" href="http://msmvps.com/blogs/omar/archive/2006/08/10/iis-6-compression-quickest-and-effective-way-to-do-it-for-asp-net-compression.aspx"&gt;IIS compression&lt;/a&gt;, &lt;a title="Making best use of cache for faster page loading" href="http://msmvps.com/blogs/omar/archive/2006/08/10/iis-6-compression-quickest-and-effective-way-to-do-it-for-asp-net-compression.aspx"&gt;browser caching&lt;/a&gt;, &lt;a title="Ensure - loading javascript, css, html on demand" href="http://www.codeplex.com/ensure"&gt;on-demand loading of JavaScript, css and html&lt;/a&gt; when user does something, &lt;a title="Deferred Javascript Execution" href="http://ajaxian.com/archives/gmail-mobile-latency"&gt;deferred JavaScript execution&lt;/a&gt; – but nothing helped. The frameworks and our own hand coded framework was just too large. So, the idea tricked me, what if we could load functions inside a class in two steps. First step will load the class with absolutely essential functions and second step will inject more functions to the existing classes.&lt;/p&gt;  &lt;p&gt;I published a codeproject article which shows you 7 tricks to significantly improve page load time even if you have large amount of Javascript used on the page.&lt;/p&gt;  &lt;p&gt;&lt;a title="7 Tips for Loading JavaScript Rich Web 2.0-like Sites Significantly Faster" href="http://www.codeproject.com/KB/ajax/fastjavascript.aspx"&gt;7 Tips for Loading JavaScript Rich Web 2.0-like Sites Significantly Faster&lt;/a&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Use Doloto &lt;/li&gt;    &lt;li&gt;Split a Class into Multiple JavaScript Files &lt;/li&gt;    &lt;li&gt;Stub the Functions Which Aren&amp;#39;t Called During Initial Load &lt;/li&gt;    &lt;li&gt;JavaScript Code in Text &lt;/li&gt;    &lt;li&gt;Break UI Loading into Multiple Stages &lt;/li&gt;    &lt;li&gt;Always Grow Content from Top to Bottom, Never Shrink or Jump &lt;/li&gt;    &lt;li&gt;Deliver Browser Specific Script from Server &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If you like these tricks, please vote for me!&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;a href="http://dotnetburner.com/vote?url=http%3a%2f%2fmsmvps.com%2fblogs%2fomar%2farchive%2f2009%2f09%2f25%2f7-tips-for-for-loading-javascript-rich-web-2-0-like-sites-significantly-faster.aspx" rev="vote-for"&gt;&lt;img src="http://dotnetburner.com/image.axd?url=http%3a%2f%2fmsmvps.com%2fblogs%2fomar%2farchive%2f2009%2f09%2f25%2f7-tips-for-for-loading-javascript-rich-web-2-0-like-sites-significantly-faster.aspx" style="border:0px;" alt="Burn!" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fmsmvps.com%2fblogs%2fomar%2farchive%2f2009%2f09%2f25%2f7-tips-for-for-loading-javascript-rich-web-2-0-like-sites-significantly-faster.aspx" rev="vote-for"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fmsmvps.com%2fblogs%2fomar%2farchive%2f2009%2f09%2f25%2f7-tips-for-for-loading-javascript-rich-web-2-0-like-sites-significantly-faster.aspx" style="border:0px;" alt="kick it" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a rev="vote-for" href="http://dotnetshoutout.com/Submit?url=http%3a%2f%2fmsmvps.com%2fblogs%2fomar%2farchive%2f2009%2f09%2f25%2f7-tips-for-for-loading-javascript-rich-web-2-0-like-sites-significantly-faster.aspx"&gt;&lt;img alt="Shout it" src="http://dotnetshoutout.com/image.axd?url=http%3a%2f%2fmsmvps.com%2fblogs%2fomar%2farchive%2f2009%2f09%2f25%2f7-tips-for-for-loading-javascript-rich-web-2-0-like-sites-significantly-faster.aspx" style="border:0px;" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>Webcast para la Comunidad SharePoint M&amp;#233;xico sobre autentificaci&amp;#243;n basada en formularios de ASP.NET en tecnolog&amp;#237;as SharePoint</title><link>http://msmvps.com/blogs/haarongonzalez/archive/2009/09/20/1725297.aspx</link><pubDate>Sun, 20 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1725297</guid><dc:creator>haaron</dc:creator><description>&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/haarongonzalez.metablogapi/8831.image_5F00_6E0DBDFD.png"&gt;&lt;img height="97" width="244" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/haarongonzalez.metablogapi/6862.image_5F00_thumb_5F00_52F4EEEF.png" align="right" alt="image" border="0" title="image" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;margin-left:0px;border-left-width:0px;margin-right:0px;" /&gt;&lt;/a&gt; El pr&amp;oacute;ximo lunes 28 de septiembre estar&amp;eacute; dando un Webcast para la &lt;a href="http://mssharepoint.multiply.com/"&gt;Comunidad SharePoint M&amp;eacute;xico&lt;/a&gt; donde estar&amp;eacute; platicando sobre como habilitar &lt;a href="http://mssharepoint.multiply.com/journal/item/250/WebCast_Comunidad_SharePoint_Mexico"&gt;autentificaci&amp;oacute;n basada en formularios sobre sitios SharePoint&lt;/a&gt;. Si como parte de tus requerimientos es utilizar alg&amp;uacute;n otro mecanismo de manejo de credenciales distintos a directorio activo entonces autentificaci&amp;oacute;n basada en formularios de ASP.NET es una opci&amp;oacute;n disponible en SharePoint, en esta sesi&amp;oacute;n veremos como configurar este mecanismo y los pasos necesarios para la administraci&amp;oacute;n de credenciales de usuario almacenadas sobre base de datos.&lt;/p&gt;
&lt;p&gt;M&amp;aacute;s detalles aqu&amp;iacute;: &lt;a href="http://mssharepoint.multiply.com/journal/item/250/WebCast_Comunidad_SharePoint_Mexico"&gt;http://mssharepoint.multiply.com/journal/item/250/WebCast_Comunidad_SharePoint_Mexico&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Los espero, saludos.&lt;/p&gt;</description></item><item><title>PowerShell For The .NET Developer</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/09/18/powershell-for-the-net-developer.aspx</link><pubDate>Fri, 18 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1724580</guid><dc:creator>paulo</dc:creator><description>&lt;p align="justify"&gt;Some time ago I needed to have the &lt;strong&gt;validationKey&lt;/strong&gt; of the &lt;a title="machineKey Element (ASP.NET Settings Schema)" href="http://msdn.microsoft.com/library/w8h3skw9.aspx" target="_blank"&gt;machineKey element&lt;/a&gt; of an &lt;a title="ASP.NET Developer Center" href="http://msdn.microsoft.com/asp.net/" target="_blank"&gt;ASP.NET&lt;/a&gt; application changed and found out that ASP.NET doesn’t provide a command-line tool (or any other) to do this.&lt;/p&gt;  &lt;p align="justify"&gt;Looking around I found several applications and code samples to do it, but to have a system administrator do this I needed to test and document the application and it was to much work for such task.&lt;/p&gt;  &lt;p align="justify"&gt;I’ve always been a supporter of the idea of &lt;a title="Windows PowerShell" href="http://www.microsoft.com/powershell" target="_blank"&gt;PowerShell&lt;/a&gt; but I never used it my self. Just because I almost always have &lt;a title="Microsoft Visual Studio" href="http://cli.gs/vstudio" target="_blank"&gt;Visual Studio&lt;/a&gt; open and writing a simple console application is quicker and easier than learning PowerShell.&lt;/p&gt;  &lt;p align="justify"&gt;This time I decide that I would do a PowerShell script instead.&lt;/p&gt;  &lt;p align="justify"&gt;In &lt;a title="Microsoft Visual C#" href="http://cli.gs/vcsharp" target="_blank"&gt;C#&lt;/a&gt; I would have done something like this:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Program
&lt;/span&gt;{
    &lt;span style="color:blue;"&gt;private static string &lt;/span&gt;GenerateKey()
    {
        &lt;span style="color:blue;"&gt;var &lt;/span&gt;buff = &lt;span style="color:blue;"&gt;new byte&lt;/span&gt;[64];
        (&lt;span style="color:blue;"&gt;new &lt;/span&gt;System.Security.Cryptography.&lt;span style="color:#2b91af;"&gt;RNGCryptoServiceProvider&lt;/span&gt;()).GetBytes(buff);
        &lt;span style="color:blue;"&gt;var &lt;/span&gt;sb = &lt;span style="color:blue;"&gt;new &lt;/span&gt;System.Text.&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;b &lt;span style="color:blue;"&gt;in &lt;/span&gt;buff)
        {
            sb.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;{0:X2}&amp;quot;&lt;/span&gt;, b);
        }
        &lt;span style="color:blue;"&gt;return &lt;/span&gt;sb.ToString();
    }

    &lt;span style="color:blue;"&gt;private static void &lt;/span&gt;Main(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)
    {
        &lt;span style="color:blue;"&gt;var &lt;/span&gt;path = args[0];
        &lt;span style="color:blue;"&gt;var &lt;/span&gt;config = System.Web.Configuration.&lt;span style="color:#2b91af;"&gt;WebConfigurationManager&lt;/span&gt;.OpenMachineConfiguration(path);
        &lt;span style="color:blue;"&gt;var &lt;/span&gt;systemWeb = config.GetSectionGroup(&lt;span style="color:#a31515;"&gt;&amp;quot;system.web&amp;quot;&lt;/span&gt;) &lt;span style="color:blue;"&gt;as &lt;/span&gt;System.Web.Configuration.&lt;span style="color:#2b91af;"&gt;SystemWebSectionGroup&lt;/span&gt;;
        &lt;span style="color:blue;"&gt;var &lt;/span&gt;machineKey = systemWeb.MachineKey;
        machineKey.ValidationKey = GenerateKey();
        config.Save(System.Configuration.&lt;span style="color:#2b91af;"&gt;ConfigurationSaveMode&lt;/span&gt;.Modified);
    }
}&lt;/pre&gt;

&lt;p align="justify"&gt;How would it be in PowerShell? As simple as this:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;function GenerateKey
&lt;/span&gt;&lt;span style="color:black;"&gt;{
    [&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;System.Byte&lt;/span&gt;&lt;span style="color:black;"&gt;[]]&lt;/span&gt;&lt;span style="color:purple;"&gt;$buff &lt;/span&gt;&lt;span style="color:red;"&gt;= &lt;/span&gt;&lt;span style="color:black;"&gt;0..63
    (&lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;new-object &lt;/span&gt;&lt;span style="color:#8b4513;"&gt;System.Security.Cryptography.RNGCryptoServiceProvider&lt;/span&gt;&lt;span style="color:black;"&gt;).&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;GetBytes&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:purple;"&gt;$buff&lt;/span&gt;&lt;span style="color:black;"&gt;)
    &lt;/span&gt;&lt;span style="color:purple;"&gt;$sb &lt;/span&gt;&lt;span style="color:red;"&gt;= &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;new-object &lt;/span&gt;&lt;span style="color:#8b4513;"&gt;System.Text.StringBuilder&lt;/span&gt;&lt;span style="color:black;"&gt;(128)
    &lt;/span&gt;&lt;span style="color:blue;"&gt;for&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:purple;"&gt;$i &lt;/span&gt;&lt;span style="color:red;"&gt;= &lt;/span&gt;&lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:blue;"&gt;; &lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:purple;"&gt;$i &lt;/span&gt;&lt;span style="color:red;"&gt;-lt &lt;/span&gt;&lt;span style="color:purple;"&gt;$buff&lt;/span&gt;&lt;span style="color:black;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Length&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:blue;"&gt;; &lt;/span&gt;&lt;span style="color:purple;"&gt;$i&lt;/span&gt;&lt;span style="color:red;"&gt;++&lt;/span&gt;&lt;span style="color:black;"&gt;)
    {
        &lt;/span&gt;&lt;span style="color:purple;"&gt;$sb &lt;/span&gt;&lt;span style="color:red;"&gt;= &lt;/span&gt;&lt;span style="color:purple;"&gt;$sb&lt;/span&gt;&lt;span style="color:black;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;AppendFormat&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;&amp;quot;{0:X2}&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;, &lt;/span&gt;&lt;span style="color:purple;"&gt;$buff&lt;/span&gt;&lt;span style="color:black;"&gt;[&lt;/span&gt;&lt;span style="color:purple;"&gt;$i&lt;/span&gt;&lt;span style="color:black;"&gt;])
    }
    &lt;/span&gt;&lt;span style="color:blue;"&gt;return &lt;/span&gt;&lt;span style="color:purple;"&gt;$sb&lt;/span&gt;&lt;span style="color:black;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ToString&lt;/span&gt;&lt;span style="color:black;"&gt;()
}

[&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;System.Reflection.Assembly&lt;/span&gt;&lt;span style="color:black;"&gt;]::&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;LoadWithPartialName&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;&amp;quot;System.Web&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;)
&lt;/span&gt;&lt;span style="color:purple;"&gt;$config &lt;/span&gt;&lt;span style="color:red;"&gt;= &lt;/span&gt;&lt;span style="color:black;"&gt;[&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;System.Web.Configuration.WebConfigurationManager&lt;/span&gt;&lt;span style="color:black;"&gt;]::&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;OpenWebConfiguration&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;&amp;quot;&lt;em&gt;&amp;lt;path&amp;gt;&lt;/em&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;)
&lt;/span&gt;&lt;span style="color:purple;"&gt;$systemWeb &lt;/span&gt;&lt;span style="color:red;"&gt;= &lt;/span&gt;&lt;span style="color:purple;"&gt;$config&lt;/span&gt;&lt;span style="color:black;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;GetSectionGroup&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;&amp;quot;system.web&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;span style="color:blue;"&gt;;
&lt;/span&gt;&lt;span style="color:purple;"&gt;$machineKey &lt;/span&gt;&lt;span style="color:red;"&gt;= &lt;/span&gt;&lt;span style="color:purple;"&gt;$systemWeb&lt;/span&gt;&lt;span style="color:black;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;MachineKey
&lt;/span&gt;&lt;span style="color:purple;"&gt;$machineKey&lt;/span&gt;&lt;span style="color:black;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;ValidationKey&lt;/span&gt;&lt;span style="color:red;"&gt;=&lt;/span&gt;&lt;span style="color:blue;"&gt;GenerateKey
&lt;/span&gt;&lt;span style="color:purple;"&gt;$config&lt;/span&gt;&lt;span style="color:black;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;save&lt;/span&gt;&lt;span style="color:black;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;&amp;quot;Modified&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;)&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p align="justify"&gt;Wonder how I got from no knowledge of PowerShell to this? Simple. Something that every real &lt;a title="Microsoft .NET Framework" href="https://www.microsoft.com/net/" target="_blank"&gt;.NET&lt;/a&gt; developer has and loves: &lt;a title=".NET Reflector" href="http://www.red-gate.com/products/reflector/" target="_blank"&gt;.NET Reflector&lt;/a&gt; (with a &lt;a title="PowerShellLanguage" href="http://reflectoraddins.codeplex.com/Wiki/View.aspx?title=PowerShellLanguage" target="_blank"&gt;PowerShell add-in&lt;/a&gt;, of course).&lt;/p&gt;</description></item><item><title>At your service (part II) – ASMX Web Service vs WCF</title><link>http://msmvps.com/blogs/joacim/archive/2009/09/16/at-your-service-part-ii-asmx-web-service-vs-wcf.aspx</link><pubDate>Wed, 16 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1723827</guid><dc:creator>Joacim</dc:creator><description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/joacim/archive/2009/09/15/at-your-service-part-i-wcf-tutorial-in-vb.aspx"&gt;Last time&lt;/a&gt; I demonstrated how to develop a Windows Communication Foundation (WCF) service. This time we’re going to look at the differences between a ASP.Net WebService and a WCF service. The biggest difference between them is probably that a WebService only can be activated via HTTP and they are tightly coupled with ASP.Net HTTP pipeline. A WCF service on the other hand can be bound to a large variety of network protocols. It also doesn’t require that it is hosted on a web server, it can be hosted in a console application, in a Windows Forms app, or in a WPF application. However WCF does have an ASP.Net compatibility mode setting to enable WCF services to be configured like a web service and also mimic their behavior.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Data representation&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A WebService relies on the XmlSerializer to serialize types into XML and back to a .Net type. The following is a list of the things XmlSerializer can serialize to and from XML.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Only the public properties (or fields) of an object. &lt;/li&gt;    &lt;li&gt;Collections can be serialized only if the implement the IEnumerable or ICollection interfaces. &lt;/li&gt;    &lt;li&gt;Classes that implements the IDictionary interface, such as Hacktable, cannot be serialized into XML. &lt;/li&gt;    &lt;li&gt;You can use attributes from the System.Xml.Serialization namespace on your own classes and members to control how instances of that class will be serialized. &lt;/li&gt;    &lt;li&gt;You can also generate classes that can be serialized into XML from definitions of the types in XML Schema using the &lt;em&gt;xsd.exe&lt;/em&gt; command line tool. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Point 4 and 5 describes how you can define complex types (classes) that can be serialized to and from XML.&lt;/p&gt;  &lt;p&gt;In WCF you would also usually begin with the definition of complex types which is done adding the &lt;em&gt;DataContractAttribute&lt;/em&gt; and the &lt;em&gt;DataMemberAttribute&lt;/em&gt; to the class and its members, as described in my &lt;a href="http://msmvps.com/blogs/joacim/archive/2009/09/15/at-your-service-part-i-wcf-tutorial-in-vb.aspx"&gt;earlier post&lt;/a&gt;. The &lt;em&gt;DataContractAttribute&lt;/em&gt; can be used on classes or structures and the &lt;em&gt;DataMemberAttribute&lt;/em&gt; on properties and/or fields, which can be either private or public.&lt;/p&gt;  &lt;p&gt;A few important differences between the &lt;em&gt;DataContractSerializer &lt;/em&gt;and the &lt;em&gt;XmlSerializer &lt;/em&gt;are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The &lt;em&gt;XmlSerializer&lt;/em&gt; serialize all public fields and properties, while you have better control using the &lt;em&gt;DataContractSerializer.&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;The &lt;em&gt;DataContractSerializer&lt;/em&gt; has better performance over &lt;em&gt;XmlSerializer&lt;/em&gt;. &lt;/li&gt;    &lt;li&gt;The &lt;em&gt;DataContractSerializer&lt;/em&gt; can serialize Hashtables. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Service Development&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To develop a WebService you would normally decorate a class with the &lt;em&gt;WebServiceAttribute &lt;/em&gt;and each method with the &lt;em&gt;WebMethodAttribute&lt;/em&gt;. This is however not an optimal solution since it does not constitute a contract for the operations performed by the service. ASP.Net 2.0 tried to rectify that by allowing you to use those attributes on an interface as well. That is the preferred method of doing it since the service contract can be reused with various classes that can implement that interface.&lt;/p&gt;  &lt;p&gt;A WCF service requires you to create a contract, since the &lt;em&gt;ServiceContractAttribute&lt;/em&gt; only can be used on an interface. So a WebService allows you to constitute a contract but doesn’t enforce it while a WCF service do.&lt;/p&gt;  &lt;p&gt;A WebService only incorpartes &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.basichttpbinding.aspx" target="_blank"&gt;BasicHttpBinding&lt;/a&gt; while a WCF service can use a wide range of bindings, such as &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.wshttpbinding.aspx" target="_blank"&gt;WSHttpBinding&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.nettcpbinding.aspx" target="_blank"&gt;NetTcpBinding&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.netnamedpipebinding.aspx" target="_blank"&gt;NetNamedPipeBinding&lt;/a&gt;, amongst others.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Hosting the service&lt;/strong&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;ASP.Net web services are hosted on a Web Server. A WCF service can be hosted on a Web Server but can just as well be hosted by a Console- or Windows Forms application.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I don’t want to make any conclusions about which technique is the best to use, because that depends on the specification. A WebService is usually easier to develop but are somewhat limited. A WCF service is more versatile but can be harder to develop. To make a true comparison you should really compare the two techniques if you want to host the service on a Web Server, such as IIS, since if you want to use another host you can’t use an ASP.Net WebService. I just leave the judgment up to you.&lt;/p&gt;  &lt;p&gt;Have fun!&lt;/p&gt;</description></item><item><title>[VSTS] Integrando Flex con VSTS</title><link>http://msmvps.com/blogs/ffagas/archive/2009/09/15/vsts-integrando-flex-con-vsts.aspx</link><pubDate>Tue, 15 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1723598</guid><dc:creator>ffagas</dc:creator><description>&lt;p align="justify"&gt;&lt;b&gt;Introducción&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Este artículo se revisará como integrar una interface hecha en Flex Builder 3.0 con objetos de .Net, en post anteriores se revisó como hacer la integración entre Flex y TFS 2008 utilizando el plugin de teamprise en esta ocasión veremos que al momento que integramos nuestro proyecto de Flex a Visual Studio 2008 automáticamente nos habilita la administración de dicho código. &lt;/p&gt;  &lt;p align="justify"&gt;Ver más: &lt;a title="http://geeks.ms/blogs/ffagas/archive/2009/09/15/vsts-integrando-flex-con-vsts.aspx" href="http://geeks.ms/blogs/ffagas/archive/2009/09/15/vsts-integrando-flex-con-vsts.aspx"&gt;http://geeks.ms/blogs/ffagas/archive/2009/09/15/vsts-integrando-flex-con-vsts.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Retomando com o blog</title><link>http://msmvps.com/blogs/andreysanches/archive/2009/09/15/retomando-com-o-blog.aspx</link><pubDate>Tue, 15 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1723574</guid><dc:creator>andrey</dc:creator><description>&lt;p&gt;Ol&amp;aacute; Amigos,&lt;/p&gt;
&lt;p&gt;Estou retomando com o blog e vou postar muitas coisas legais que ando vendo sobre as novas tecnologias ASP.NET 3.5, C#, WPF, LINQ e muito mais.&lt;br /&gt;&lt;br /&gt;Espero que seja proveitoso &amp;agrave; todos.&lt;/p&gt;
&lt;p&gt;abs&lt;/p&gt;</description></item></channel></rss>