<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>.NET</title>
        <link>http://geekswithblogs.net/bcorazza/category/5380.aspx</link>
        <description>.NET</description>
        <language>en-US</language>
        <copyright>Bryan Corazza</copyright>
        <managingEditor>bryan.corazza@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>First Post with Windows Live Writer</title>
            <link>http://geekswithblogs.net/bcorazza/archive/2006/08/31/89949.aspx</link>
            <description>&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Just testing this new tool at that can be downloaded from &lt;A href="http://windowslivewriter.spaces.live.com/" target=_blank&gt;here&lt;/A&gt;.&amp;nbsp; A friend of mine has a post explaining what he likes and dislikes about the product and that can be found &lt;A href="http://desigeek.com/weblog/amit/archive/2006/08/15/Windows-Live-Writer.aspx" target=_blank&gt;here&lt;/A&gt;.&amp;nbsp; Now let's just say I live somewhere in the map below.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=84E294D0-71C9-4bd0-A0FE-95764E0368D9:45d88c30-118d-4a90-ac6b-81da17795afe contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;A id=map-b0187115-690d-4a20-9d2b-40b8535c74f0 title="Click to view this map on Live.com" href="http://local.live.com/default.aspx?v=2&amp;amp;cp=40.78164~-73.97607&amp;amp;lvl=14&amp;amp;style=r" alt="Click to view this map on Live.com"&gt;&lt;IMG height=240 src="http://brineykratz.com/images/FirstPostwithWindowsLiveWriter_9742/mapd42d212397f4.jpg" width=320&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;I can't wait to start using the other features of this tool of off-line posting as I am a consultant and do sometimes spend lot of time en-route to where I'm going or waiting for a flight here and there, this would had come in handle over the winter.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;[Updated] &lt;/FONT&gt;&lt;FONT color=#000000&gt;To setup Windows Live Writer to use geekswithblogs go &lt;A href="http://geekswithblogs.net/jjulian/archive/2006/08/24/89084.aspx"&gt;here&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;And who said there's anything wrong with guys and dolls?&lt;/P&gt;
&lt;P&gt;&lt;A href="http://brineykratz.com/images/FirstPostwithWindowsLiveWriter_9742/IMG_03111.jpg" atomicselection="true"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=180 src="http://brineykratz.com/images/FirstPostwithWindowsLiveWriter_9742/IMG_0311.jpg" width=240 border=0&gt;&lt;/A&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=89949"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=89949" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/bcorazza/aggbug/89949.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bryan Corazza</dc:creator>
            <guid>http://geekswithblogs.net/bcorazza/archive/2006/08/31/89949.aspx</guid>
            <pubDate>Thu, 31 Aug 2006 21:02:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/bcorazza/comments/89949.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/bcorazza/archive/2006/08/31/89949.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/bcorazza/comments/commentRss/89949.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/bcorazza/services/trackbacks/89949.aspx</trackback:ping>
        </item>
        <item>
            <title>New Methods in XmlReader 2.0</title>
            <link>http://geekswithblogs.net/bcorazza/archive/2006/08/31/89945.aspx</link>
            <description>&lt;p&gt;As you might have guessed it I work on a lot in the XML namespace of .NET and I'm finally starting to use some of the&amp;nbsp;new&amp;nbsp;XmlReader features.&amp;nbsp;&amp;nbsp;This post will go over some of them here.&amp;nbsp;&amp;nbsp;And remember a wise man once said that everything can be solved with one more layer of abstraction.&amp;nbsp; These new features are nothing more than an encapsulation of code that the major of us have written thousands of times before but its all about productivity.&amp;nbsp; Why just today I was at a meeting going over some change requests and noticed that n new features were being added and schedule and budget remained constant.&amp;nbsp; :)&lt;/p&gt; &lt;p&gt;&lt;u&gt;.ReadToFollowing(string)&lt;/u&gt;&amp;nbsp; This method will forwards the cursor and returns a true once the conditions of the XmlNodeType.Element and Name equals your parameter.&amp;nbsp; This is very useful for crawling through large files where you only require a small amount of data from.&lt;/p&gt; &lt;p&gt;&lt;u&gt;.ReadToNextSibling(string)&lt;/u&gt;&amp;nbsp; This method is great for splitting out smaller Xml messages that are inside of a larger schema since it will return true once the next sequential sibling is matched.&amp;nbsp; Example is here:&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;do&lt;/span&gt;{

&lt;span class="rem"&gt;//do your stuff...&lt;/span&gt;

}&lt;span class="kwrd"&gt;while&lt;/span&gt;(reader.ReadToNextSibling(&lt;span class="str"&gt;"foo"&lt;/span&gt;));
&lt;/pre&gt;
&lt;p&gt;I use this one often in doing my own disassembly in helper classes.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;.ReadSubTree()&lt;/u&gt; This method actually returns a XmlReader with limited scope of the subtree.&amp;nbsp; It does this by the use of an internal class called the XmlSubTreeReader which basically uses a reader to&amp;nbsp;.MoveToElement() until the&amp;nbsp;initial depth of that subtree has&amp;nbsp;been met.&amp;nbsp; This saves me heaps of time instead of my usual mess of climbing down into each&amp;nbsp;subtree manually.&amp;nbsp; I've always thought that writing code that read Xml was never elegant since Xml is so flexible.&amp;nbsp; Something had to give.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;.ReadElementContentAsXxx()&lt;/u&gt; Now there are a bunch of these methods one for each type (doubles, int32s, strings, etc.)&amp;nbsp; and they are great because we no longer have to cast the value out of the XmlReader.&amp;nbsp; Each different method has an underlying class that specifically handles extracting the contents out of a Node with casting which can be expensive.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;.Create()&lt;/u&gt; This is probably my favorite one.&amp;nbsp; So how many times have we called XmlReader reader = new XmlReader();?&amp;nbsp; Well now the Xml team has taken a lesson from the Enterprise Library folks in giving us a Factory Pattern for creating new instances of an XmlReader.&amp;nbsp; XmlReader reader = XmlReader.Create() several overloads exist for this.&amp;nbsp; So much easier than before.&amp;nbsp; Love the factory pattern.&lt;/p&gt;
&lt;p&gt;Now this is just a small amount of what changed in the XML namespace in 2.0.&amp;nbsp; Overall performance has improved 20-30% on average (especially&amp;nbsp;with compile&amp;nbsp;XSLT).&amp;nbsp; These are also were BizTalk 2006 has picked up most of its performance gains over its predecessors.&amp;nbsp; Also its worth reading &lt;a href="http://pluralsight.com/blogs/aaron/archive/2006/08/08/32854.aspx" target="_blank"&gt;this&lt;/a&gt;&amp;nbsp;by Aaron Skonnard on the new features of XML 2.0.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=89945"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=89945" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/bcorazza/aggbug/89945.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bryan Corazza</dc:creator>
            <guid>http://geekswithblogs.net/bcorazza/archive/2006/08/31/89945.aspx</guid>
            <pubDate>Thu, 31 Aug 2006 20:53:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/bcorazza/comments/89945.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/bcorazza/archive/2006/08/31/89945.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/bcorazza/comments/commentRss/89945.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/bcorazza/services/trackbacks/89945.aspx</trackback:ping>
        </item>
    </channel>
</rss>