<?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>SharePoint world of ECM and Information Management : .NET</title><link>http://msmvps.com/blogs/laflour/archive/tags/.NET/default.aspx</link><description>Tags: .NET</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>ASP.NET 4.0 Beta1 - What’s new in System.Web.dll. Assembly outlook [whitepaper]</title><link>http://msmvps.com/blogs/laflour/archive/2009/05/20/asp-net-4-0-beta1-what-s-new-in-system-web-dll-assembly-outlook-whitepaper.aspx</link><pubDate>Wed, 20 May 2009 07:57:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1692819</guid><dc:creator>Michael</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/laflour/rsscomments.aspx?PostID=1692819</wfw:commentRss><comments>http://msmvps.com/blogs/laflour/archive/2009/05/20/asp-net-4-0-beta1-what-s-new-in-system-web-dll-assembly-outlook-whitepaper.aspx#comments</comments><description>&lt;h5&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;/h5&gt;  &lt;p&gt;This guideline provides detailed overview of System.Web assembly and the new classes and methods in ASP.NET 4.0, which were released with Visual Studio 2010 Beta1. &lt;/p&gt;  &lt;p&gt;Document is subject to change – we are trying to find detailed information about all new stuff and update description column. Send us your comments and suggestion via &lt;a href="http://msmvps.com/blogs/laflour/contact.aspx"&gt;this online form&lt;/a&gt;. &lt;/p&gt;  &lt;h5&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/h5&gt;  &lt;p&gt;ASP.NET 4.0 introduces several changes to the web assemblies and also merges several dlls that existed in .NET 2.0 - 3.5 SP1. For example, new features from ASP.NET 3.5 System.Web.Abstractions.dll and System.Web.Routing.dll are merged with System.Web.dll, under System.Web namespace. &lt;/p&gt;  &lt;h5&gt;&lt;b&gt;Changes&lt;/b&gt;&lt;/h5&gt;  &lt;p&gt;Beta1 of ASP.NET 4.0 introduced &lt;b&gt;27&lt;/b&gt; new classes/interfaces/enums and &lt;b&gt;22&lt;/b&gt; modifications of the existing ASP.NET 3.5 SP1 functionality. &lt;/p&gt;  &lt;p&gt;Take into account, that Beta1 doesn’t provide the complete list of the new features – they can add new stuff or remove existed one prior to the final release.&lt;/p&gt;  &lt;p&gt;The latest document version is available there &lt;b&gt;&lt;a href="http://tinyurl.com/qr583j"&gt;http://tinyurl.com/qr583j&lt;/a&gt;&lt;/b&gt; (PDF file)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1692819" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/laflour/archive/tags/Web/default.aspx">Web</category><category domain="http://msmvps.com/blogs/laflour/archive/tags/.NET/default.aspx">.NET</category></item><item><title>ASP.NET Theme across all pages with XMLHttpRequest calls</title><link>http://msmvps.com/blogs/laflour/archive/2008/07/28/asp-net-theme-across-all-pages-with-xmlhttprequest-calls.aspx</link><pubDate>Sun, 27 Jul 2008 14:43:20 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1642336</guid><dc:creator>Michael</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/laflour/rsscomments.aspx?PostID=1642336</wfw:commentRss><comments>http://msmvps.com/blogs/laflour/archive/2008/07/28/asp-net-theme-across-all-pages-with-xmlhttprequest-calls.aspx#comments</comments><description>&lt;p&gt;ASP.NET Themes is very powerful feature, but some limitations exist when you are trying to apply Themes dynamically.&lt;/p&gt;  &lt;p&gt;For the single page the way to apply theme is to use &lt;/p&gt;  &lt;p&gt;Page.Theme = “&amp;lt;themeName&amp;gt;”; &lt;/p&gt;  &lt;p&gt;inside&amp;#160; the OnPreInit event, but if you try to apply theme for all pages across your site you have two solutions:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;add this code to each of the pages &lt;/li&gt;    &lt;li&gt;apply theme for master.page – and it’s where problem starts &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;ASP.NET master pages don’t support applying themes dynamically – only static support for the all site pages by setting attribute inside web.config.&lt;/p&gt;  &lt;p&gt;But what to do if you need control which theme to apply and you don’t want to add code to every page of your site?! &lt;/p&gt;  &lt;p&gt;The solution for this to create custom HttpModule, where apply theme for Page class inside PreRequestHandlerExecute event.&lt;/p&gt;  &lt;p&gt;See the following code-snippet of the ThemeHttpModule&lt;/p&gt;  &lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;background-color:#f4f4f4;"&gt;   &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;     &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; public void Init(HttpApplication context)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     context.PreRequestHandlerExecute += context_PreRequestHandlerExecute;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; void context_PreRequestHandlerExecute(object sender, EventArgs e)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;     HttpContext context = HttpContext.Current;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     if (!(context.Handler is Page))&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;         return;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;     Page page = (Page)context.Handler;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;     &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt;     if ((page != null))&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;         string themeName = &amp;quot;Default&amp;quot;;  // get theme name from somewhere&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;         page.Theme = themeName;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  21:&lt;/span&gt; }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Done. Now you have flexible control which theme to apply in realtime, extracting you theme names from config or from database.&lt;/p&gt;

&lt;p&gt;But there is one case, I’d like point you attention – XMLHttpRequest calls.&lt;/p&gt;

&lt;p&gt;If you have AJAX XMLHttpRequest direct calls - this code won’t work, because server returns you only portion of page, not the full page with header and body. And you can’t apply theme on partial pages.&lt;/p&gt;

&lt;p&gt;To solve this you need to check if it’s partial request or not, inside your HttpModule. In case of ASP.NET AJAX you could use ScriptManager.IsInAsyncPostBack, but for the direct XMLHttpRequest&amp;#160; calls you need to check the header for the Content-Type you are used when create the MSXML object.&lt;/p&gt;

&lt;p&gt;Something like this&lt;/p&gt;

&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;background-color:#f4f4f4;"&gt;
  &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; // Don&amp;#39;t apply theme for XMLHttpRequest calls, because you are getting part of the page, not the full page&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; if (! string.IsNullOrEmpty(context.Request.ContentType))&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     return;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Now your themes will be applied only on pages, not the partial AJAX calls.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Mirror: &lt;a href="http://laflour.spaces.live.com/blog/cns%217575E2FFC19135B4%211138.entry"&gt;ASP.NET Theme across all pages with XMLHttpRequest calls&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1642336" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/laflour/archive/tags/Web/default.aspx">Web</category><category domain="http://msmvps.com/blogs/laflour/archive/tags/.NET/default.aspx">.NET</category></item><item><title>2008 MVP Award</title><link>http://msmvps.com/blogs/laflour/archive/2008/07/02/2008-mvp-award.aspx</link><pubDate>Tue, 01 Jul 2008 23:05:10 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1639051</guid><dc:creator>Michael</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/laflour/rsscomments.aspx?PostID=1639051</wfw:commentRss><comments>http://msmvps.com/blogs/laflour/archive/2008/07/02/2008-mvp-award.aspx#comments</comments><description>&lt;p&gt;Hurray, got the &lt;strong&gt;2008 MVP Award&lt;/strong&gt; today! They re-awarded me again, since year 2005 in [.NET/C#] area for my achievements in “online consulting” ;) &lt;/p&gt;  &lt;p&gt;But this year I’m Australian MVP!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Thinking about changing the area and become SharePoint MVP in the next year :) &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Mirror: &lt;a title="2008 MVP Award" href="http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!1117.entry"&gt;2008 MVP Award&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1639051" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/laflour/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/laflour/archive/tags/Consulting/default.aspx">Consulting</category></item><item><title>Attend ReMIX 08 in Sydney - Experts stand</title><link>http://msmvps.com/blogs/laflour/archive/2008/05/08/attend-remix-08-in-sydney-experts-stand.aspx</link><pubDate>Thu, 08 May 2008 10:40:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1617302</guid><dc:creator>Michael</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/laflour/rsscomments.aspx?PostID=1617302</wfw:commentRss><comments>http://msmvps.com/blogs/laflour/archive/2008/05/08/attend-remix-08-in-sydney-experts-stand.aspx#comments</comments><description>&lt;p&gt;Going to attend the &lt;a href="http://www.microsoft.com/australia/remix08/index.aspx" target="_blank"&gt;ReMIX 08 in Sydney&lt;/a&gt;. You can catch me in &amp;quot;Expert Stand&amp;quot; section during breaks.&lt;/p&gt; &lt;p&gt;&lt;font size="1"&gt;Mirror: &lt;/font&gt;&lt;a href="http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!1035.entry"&gt;&lt;font size="1"&gt;Attend ReMIX 08 in Sydney - Experts stand&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1617302" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/laflour/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/laflour/archive/tags/Leading/default.aspx">Leading</category></item><item><title>We host WF "Industrial Strength Series" in Australia, Feb 2008</title><link>http://msmvps.com/blogs/laflour/archive/2007/12/12/we-host-wf-quot-industrial-strength-series-quot-in-australia-feb-2008.aspx</link><pubDate>Wed, 12 Dec 2007 11:10:59 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1393631</guid><dc:creator>Michael</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/laflour/rsscomments.aspx?PostID=1393631</wfw:commentRss><comments>http://msmvps.com/blogs/laflour/archive/2007/12/12/we-host-wf-quot-industrial-strength-series-quot-in-australia-feb-2008.aspx#comments</comments><description>&lt;p&gt;&lt;b&gt;Readify&amp;#39;s Industrial Strength Series&lt;/b&gt;  &lt;p&gt;&lt;b&gt;Applied Windows Workflow Foundation&lt;/b&gt;  &lt;p&gt;As part of our Industrial Strength Series, Jon Flanders* of Pluralsight will come down under in February 2008&amp;nbsp; to deliver a 4 day Applied WF intensive course which affords experienced .NET developers training in WF tools and services needed to add rich workflow capabilities to their ASP.NET and Smart Client applications as well as Web and Windows services.  &lt;p&gt;Windows Workflow Foundation (WF) was announced at the 2005 Professional Developers Conference as the platform for building workflow-enabled applications. As part of .NET 3.0, WF ships with Windows Vista and also runs on Windows Server 2003 and Windows XP.  &lt;p&gt;WF allows developers to create dynamic, transparent applications with true object reuse and composition. WF provides the tools and services .NET developers need to add rich workflow capabilities to their ASP.NET and Smart Client applications as well as Web and Windows services. With the ability to fully involve business users and IT Pros in the use and monitoring of an application, WF stands to single-handedly change the way .NET programs are written in the future. This course provides fast-paced exposure to WF to get you started today, and is also provides information on using WF with the Windows Communication Foundation (WCF) to build transparent services and smart clients tomorrow.  &lt;p&gt;18-21 February 2008  &lt;p&gt;&lt;strong&gt;Time:&lt;/strong&gt;&lt;br /&gt;9:00am - 5:00pm&lt;br /&gt;&lt;strong&gt;Location:&lt;/strong&gt;&lt;br /&gt;Upper Ground, Cliftons,&lt;br /&gt;440 Collins St, Melbourne&lt;br /&gt;&lt;strong&gt;Investment:&lt;/strong&gt;&lt;br /&gt;$3100 +GST &lt;b&gt;&lt;i&gt;early bird rate&lt;/i&gt;&lt;/b&gt;&lt;i&gt; applies for bookings received by 21 Dec 07. RRP$3500+GST&lt;/i&gt;&lt;br /&gt;&lt;a href="http://readify.net/Default.aspx?tabid=281"&gt;&amp;lt;&amp;lt; View Course Outline &amp;gt;&amp;gt;&lt;/a&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;br /&gt;&lt;a href="http://readify.net/Default.aspx?tabid=146"&gt;« BOOK ONLINE NOW »&lt;/a&gt;  &lt;p&gt;This course is designed for developers interested in ramping up quickly on the WF architecture, programming model, and other key concepts and features. Experience programming in C# using Visual Studio .NET is required.  &lt;p&gt;This course will not only help you understand the architecture and design principles underlying WF, but also teach you the most practical aspects of beginning to use WF today. You’ll learn how to use WF to create rich Human Workflow applications that truly involve the business user as well as how to create transparent, maintainable application code. Coverage will include how to create workflows using sequence and State-machine workflow models as well as how to extend WF with custom activities and services. By the end of the course you should feel confident building, deploying and hosting workflows and creating custom activities. &lt;a href="http://readify.net/Default.aspx?tabid=281"&gt;Read more...&lt;/a&gt;  &lt;p&gt;* Jon Flanders is a trainer/consultant for Pluralsight US, author and MVP in BizTalk. Jon has authored and co-authored &amp;quot;Essential ASP&amp;quot; for Addison-Wesleyand Mastering Visual Studio.NET for O&amp;#39;Reilly, he has also been involved with Windows Workflow since its beta release, and currently has been working with Microsoft delivering jumpstart training for BizTalk Server 2006 R2 and BizTalk RFID. More information about Jon can be found on his blog at &lt;a href="http://www.masteringbiztalk.com/blogs/jon/"&gt;http://www.masteringbiztalk.com/blogs/jon/&lt;/a&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://readify.net/Default.aspx?tabid=146"&gt;« DON’T MISS YOURS CHANCE TO CATCH JON IN AUSTRALIA - RESERVE YOUR SEAT BY CONTACTING YOUR ACCOUNT MANAGER ON 1300 666 274 OR CLICK HERE TO REGISTER ONLINE »&lt;/a&gt;&lt;/strong&gt;  &lt;hr align="center" /&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1393631" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/laflour/archive/tags/Readify/default.aspx">Readify</category><category domain="http://msmvps.com/blogs/laflour/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/laflour/archive/tags/Workflow/default.aspx">Workflow</category></item></channel></rss>