<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>David Waddleton's Geek Speak</title><link>http://blogs.msdn.com/b/davidwaddleton/</link><description>Find out what Geeks talk about</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Part 2: Using LINQ XML in your Unit Testing</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2008/06/07/part-2-using-linq-xml-in-your-unit-testing.aspx</link><pubDate>Sat, 07 Jun 2008 22:28:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8580198</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=8580198</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2008/06/07/part-2-using-linq-xml-in-your-unit-testing.aspx#comments</comments><description>Technorati Tags: Unit Test , LINQ , XML In Part 1 ,&amp;#160; we talked about creating LINQ objects&amp;#160; and getting data.&amp;#160; This time, we are going to show how to use XML with LINQ to test a SQL database.&amp;#160; This part is really not difficult, we...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2008/06/07/part-2-using-linq-xml-in-your-unit-testing.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8580198" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/LINQ/">LINQ</category><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Learning/">Learning</category><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/C_2300_/">C#</category></item><item><title>An implementation of a Generic Container for WCF</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2008/06/05/an-implementation-of-a-generic-container-for-wcf.aspx</link><pubDate>Fri, 06 Jun 2008 01:23:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8576399</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=8576399</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2008/06/05/an-implementation-of-a-generic-container-for-wcf.aspx#comments</comments><description>I am currently writing a service using WCF.&amp;#160; One of the things that I need to expose is a container that wraps my results to provide counts. I came up with the below implementations.&amp;#160; One of the things that becomes a problem is the resulting...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2008/06/05/an-implementation-of-a-generic-container-for-wcf.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8576399" width="1" height="1"&gt;</description></item><item><title>Are you using LINQ? Lets get started.</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2008/05/21/are-you-using-linq-i-would-love-to-know-how.aspx</link><pubDate>Thu, 22 May 2008 05:52:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8531261</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=8531261</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2008/05/21/are-you-using-linq-i-would-love-to-know-how.aspx#comments</comments><description>So, I am going to talk about LINQ.&amp;#160; There are a lot of great resources out there on LINQ.&amp;#160; I am going to have a series of articles on building an application utilizing LINQ, WCF and other technologies. Some of the things that I want to show...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2008/05/21/are-you-using-linq-i-would-love-to-know-how.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8531261" width="1" height="1"&gt;</description></item><item><title>Back to Posting again.</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2008/04/18/back-to-posting-again.aspx</link><pubDate>Sat, 19 Apr 2008 07:43:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8409770</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=8409770</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2008/04/18/back-to-posting-again.aspx#comments</comments><description>I have been busy with my work @ Microsoft.&amp;#160; Just in case you have not hear of what I am working on.&amp;#160; My team is responsible for the new forums that Expressions is using.&amp;#160; http://forums.expression.microsoft.com/en/forums &amp;#160; Try it out...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2008/04/18/back-to-posting-again.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8409770" width="1" height="1"&gt;</description></item><item><title>WCF and 404.3 Errors</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2007/11/02/wcf-and-404-3-errors.aspx</link><pubDate>Fri, 02 Nov 2007 20:58:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5840059</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=5840059</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2007/11/02/wcf-and-404-3-errors.aspx#comments</comments><description>After building, a WCF service in Windows Server 2003, I thought no big deal, for Windows Server 2008.&amp;#xA0; I deployed the service on my Windows Server 2008 machine and started getting 404.3 errors only with my WCF service.&amp;#xA0; After checking that I...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2007/11/02/wcf-and-404-3-errors.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5840059" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/WCF/">WCF</category><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Orcas+_2800_Visual+Studio+2008_2900_/">Orcas (Visual Studio 2008)</category></item><item><title>How To: Using Embedded Resources in a Class Library</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2007/02/02/how-to-using-embedded-resources-in-a-class-library.aspx</link><pubDate>Sat, 03 Feb 2007 00:46:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1585034</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=1585034</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2007/02/02/how-to-using-embedded-resources-in-a-class-library.aspx#comments</comments><description>I came across the situation, where I needed to use an embedded resource file in a class library file. After spending much time, scratching my head trying to figure out how to get to the embedded resource. This is what I found. First, you will need to...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2007/02/02/how-to-using-embedded-resources-in-a-class-library.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1585034" width="1" height="1"&gt;</description></item><item><title>ASP.NET AJAX 1.0 Released</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2007/01/25/asp-net-ajax-1-0-released.aspx</link><pubDate>Thu, 25 Jan 2007 21:47:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1531079</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=1531079</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2007/01/25/asp-net-ajax-1-0-released.aspx#comments</comments><description>I am a bit late, but because of how busy I have been, I forgot to mention that ASP.NET AJAX has been released. Scott Guthrie has a great post with some great resources about what is new and resources to help you get started. Links: http://weblogs.asp...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2007/01/25/asp-net-ajax-1-0-released.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1531079" width="1" height="1"&gt;</description></item><item><title>Personal Note: This is my dog!!</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/10/30/personal-note-this-is-my-dog.aspx</link><pubDate>Mon, 30 Oct 2006 17:50:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:903561</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=903561</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/10/30/personal-note-this-is-my-dog.aspx#comments</comments><description>I say this cartoon, and I said "That is my dog!!". Link to Get Fuzzy Technorati tags: Funny , Dog , Pet...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2006/10/30/personal-note-this-is-my-dog.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=903561" width="1" height="1"&gt;</description></item><item><title>ASP.NET AJAX Beta / CTP Release</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/10/24/asp-net-ajax-beta-ctp-release.aspx</link><pubDate>Tue, 24 Oct 2006 23:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:870156</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=870156</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/10/24/asp-net-ajax-beta-ctp-release.aspx#comments</comments><description>The ASP.NET AJAX Beta is now live. This release includes a number of significant changes: 
 1) An update to http://www.asp.net/ and http://Ajax.asp.net/ to support the release 
 2) A comprehensive whitepaper detailing changes between the CTP’s and Beta...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2006/10/24/asp-net-ajax-beta-ctp-release.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=870156" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Cool+Stuff/">Cool Stuff</category><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Visual+Studio+2005/">Visual Studio 2005</category><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/WinFX/">WinFX</category></item><item><title>Free .NET Framework 3.0 eLearning Clinics</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/10/12/free-net-framework-3-0-elearning-clinics.aspx</link><pubDate>Thu, 12 Oct 2006 17:27:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:819722</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=819722</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/10/12/free-net-framework-3-0-elearning-clinics.aspx#comments</comments><description>Wow, you have got to look at this!! The WPF team is making this training available free till the lauch of .NET Framework 3.0. More Context: Collection 5134: Developing Rich Experiences with Microsoft® .NET Framework 3.0 and Visual Studio® 2005 This collection...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2006/10/12/free-net-framework-3-0-elearning-clinics.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=819722" width="1" height="1"&gt;</description></item><item><title>Why and how would I Mock a Web Service? (In VS 2005)?</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/08/03/687841.aspx</link><pubDate>Thu, 03 Aug 2006 10:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:687841</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=687841</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/08/03/687841.aspx#comments</comments><description>Well, in my current project, this question appeared very early on. Since, I am doing Test-Driven Development, I need to test my web service data layer, but I don’t need it all of the time. I used a pattern called Constructor based Dependency Injection...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2006/08/03/687841.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=687841" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Cool+Stuff/">Cool Stuff</category><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Visual+Studio+2005/">Visual Studio 2005</category></item><item><title>Technorati</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/22/675046.aspx</link><pubDate>Sat, 22 Jul 2006 22:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:675046</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=675046</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/22/675046.aspx#comments</comments><description>Technorati Profile...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/22/675046.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=675046" width="1" height="1"&gt;</description></item><item><title>Geek Speak - Useful functions</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/22/geek-speak-useful-functions.aspx</link><pubDate>Sat, 22 Jul 2006 20:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:675007</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=675007</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/22/geek-speak-useful-functions.aspx#comments</comments><description>I would like to share some useful functions for you to use. This is part of an application that I will eventually share when I get it completed. In my last post, I showed how to create a FlowDocument from HTML, well I put that code into a function. The...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/22/geek-speak-useful-functions.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=675007" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/WinFX/">WinFX</category></item><item><title>Geek Speak - Converting HTML to XAML</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/19/671974.aspx</link><pubDate>Thu, 20 Jul 2006 02:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:671974</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=671974</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/19/671974.aspx#comments</comments><description>Well, I have been playing with Avalon for a bit. One of the things that I have been playing with is a RSS viewer, just a little hobby. Viewing blogs were not difficult, but the displaying of the HTML from the RSS is where the problems start. But what...(&lt;a href="http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/19/671974.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=671974" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/WinFX/">WinFX</category></item><item><title>Wow, Am I lost? But Found Again - Avalon</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/07/659148.aspx</link><pubDate>Fri, 07 Jul 2006 19:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:659148</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=659148</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/07/07/659148.aspx#comments</comments><description>&lt;P&gt;Well, everyone it has been a while since I have blogged.&amp;nbsp; I have not forgotten how.&amp;nbsp; I just have been extremely busy.&amp;nbsp; Have you gone out to the &lt;A href="http://www.codeplex.com"&gt;http://www.codeplex.com&lt;/A&gt; site?&amp;nbsp; That&amp;nbsp; was a project that I was working on.&amp;nbsp; The is part of the reason for not blogging becuase I could not tell you about it until it was public.&amp;nbsp; Take a look I know that you will like it.&lt;/P&gt;
&lt;P&gt;Current Stuff:&amp;nbsp; So I am done with that.&amp;nbsp; Have you seen &lt;A href="http://www.microsoft.com/rss/"&gt;http://www.microsoft.com/rss/&lt;/A&gt;.&amp;nbsp; That is another team with my group's work.&amp;nbsp; So you are probably wondering what am I doing now. Well, I am working on creating WinFx clients and components.&amp;nbsp; I am going to start sharing some of my experiences with WinFX (Avalon).&amp;nbsp; I know that one of my stumbling block with such a new technology is that some of the examples are limited.&amp;nbsp; I have put together a medium size application utilizing many new features and concepts.&amp;nbsp; I will share some of what I have done in small pieces.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Here are some great resources for you get started with Avalon:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://wpf.netfx3.com/"&gt;http://wpf.netfx3.com/&lt;/A&gt;&lt;BR&gt;&lt;A href="http://forums.microsoft.com/msdn/default.aspx?forumgroupid=24&amp;amp;siteid=1"&gt;http://forums.microsoft.com/msdn/default.aspx?forumgroupid=24&amp;amp;siteid=1&lt;/A&gt;&lt;A href="http://forums.microsoft.com/"&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/winfx/"&gt;http://msdn.microsoft.com/winfx/&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;Get the bit from here:&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/downloads/products/getthebeta/"&gt;http://msdn.microsoft.com/windowsvista/downloads/products/getthebeta/&lt;/A&gt;&lt;/P&gt;&lt;A href="http://msdn.microsoft.com/"&gt;&lt;/A&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=659148" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/WinFX/">WinFX</category></item><item><title>Geek Speak: Team System Installation Error? ( Don't Rename your Machine!!) but if you need to.</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/02/19/535273.aspx</link><pubDate>Mon, 20 Feb 2006 07:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:535273</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=535273</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/02/19/535273.aspx#comments</comments><description>&lt;P&gt;Just in case you ever do what I did during my installation.&amp;nbsp; You are thinking, why would you ever do something like that.&amp;nbsp; Well, I had a machine conflict on my network, who would guess!!&amp;nbsp; Well, I had to rename my machine and sure enough. VSTF did not work!!&amp;nbsp; I did what any sane person would do.&amp;nbsp; Uninstll, VSTF, Sharepoint and SQL to clean up what I did.&amp;nbsp; Well before you do all of that, you may want to try this.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=143989&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=143989&amp;amp;SiteID=1&lt;/A&gt;&lt;BR&gt;(Note: &lt;SPAN class=forumName id=_ctl0_MainContent_PostFlatView__ctl0_PostSubject&gt;TF30076 Server Name provided does not correspond to a server URI that can be found&lt;/SPAN&gt; , is not the title of the error that I received, but the fix is there. )&lt;/P&gt;
&lt;P&gt;Well, to make a long story short.&amp;nbsp; I re-installed everthing, but TFS had issues at the very end.&amp;nbsp; It was 99.9% complete and I did not want to start over.&amp;nbsp; It will tell you that the Event Services are not available.&amp;nbsp; I checked everthing and IIS was running correctly.&amp;nbsp; The issue is that the registry, still had references to my old machine name, which is what it was using to reference the web services.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;If you do the following and replace your machine name and reference to your TFS server and everthing should be ok.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;1. Type regedit on the command prompt&lt;BR&gt;2. Go to &lt;STRONG&gt;HKEY_CURRENT_USER &lt;/STRONG&gt;node. Expand that&lt;BR&gt;3. Under that expand the &lt;STRONG&gt;Software &lt;/STRONG&gt;node&lt;BR&gt;4. Under that expand the &lt;STRONG&gt;Microsoft &lt;/STRONG&gt;node&lt;BR&gt;5. Under that expand the &lt;STRONG&gt;Visual Studio &lt;/STRONG&gt;node&lt;BR&gt;6. Under that expand the &lt;STRONG&gt;8.0 &lt;/STRONG&gt;node&lt;BR&gt;7. Under that expand the &lt;STRONG&gt;Team Foundation &lt;/STRONG&gt;node&lt;BR&gt;8. Under that expand the &lt;STRONG&gt;Servers &lt;/STRONG&gt;node&lt;/FONT&gt;&lt;BR&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=535273" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Cool+Stuff/">Cool Stuff</category><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Visual+Studio+2005/">Visual Studio 2005</category></item><item><title>Geek Speak: How to Create a Testable SQL Trace Listener</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/02/05/how-to-create-a-testable-sql-trace-listener.aspx</link><pubDate>Mon, 06 Feb 2006 07:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:525425</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=525425</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/02/05/how-to-create-a-testable-sql-trace-listener.aspx#comments</comments><description>&lt;div class=Section1&gt;
&lt;p class=MsoNormal&gt;In some situation, logging to the file system or to the event log, may not be sufficient to handle your error handling needs.&amp;nbsp; For us at Microsoft, that is the case.&amp;nbsp; Our production applications are “hands-off”, we don’t have physical access to the machines.&amp;nbsp; Our primary way for developers to determine the activity of the application is through SQL.&amp;nbsp; This example will show you how to create a “Testable” SQL logger with Unit Tests.&lt;/p&gt;
&lt;p class=MsoNormal&gt;(! Please note this is a long Post!!! ) Attached at the bottom is the source code.&lt;/p&gt;
&lt;p class=MsoNormal&gt;This implementation will be a basic implementation of the SQL Logger. We will be expanding on this implementation next time.&amp;nbsp; The application that we are implementing is using &lt;a href="http://martinfowler.com/eaaDev/ModelViewPresenter.html"&gt;Model-View-Presenter&lt;/a&gt;.&amp;nbsp; &lt;a href="http://codebetter.com/blogs/jeffrey.palermo"&gt;Jeffrey Palermo&lt;/a&gt; (http://codebetter.com/blogs/jeffrey.palermo/archive/2005/04/02/128598.aspx) &amp;nbsp;has a great diagram that describes better the architecture than me describing it.&amp;nbsp; &lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;1) Create ILogger Provider&lt;/p&gt;
&lt;p class=MsoNormal&gt;First, I need to create an interface for the database, and since I want to keep it simple, I will use an object to pass information back and forth from my data layer.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; Listeners&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;interface&lt;/span&gt; &lt;span style="COLOR: teal"&gt;ILoggerProvider&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; WriteMessage(&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; logMessage);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;2) Create LogMessage object ( Domain / Business Object)&lt;/p&gt;
&lt;p class=MsoNormal&gt;Using the above as my interface, I need to define my business object that will hold the information.&amp;nbsp; The sole purpose is to be just a container.&amp;nbsp; All of the important logic will be handled before the information is stuffed into the object.&amp;nbsp; We are just going to cover the simplest, a message and a category. &lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; message;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; source;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt; msgTime;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; LogMessage(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; msg,&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; src,&lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt; logTime)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; message = msg;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source = src;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgTime = logTime;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; Message&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;get&lt;/span&gt; { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; message; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt; { message = &lt;span style="COLOR: blue"&gt;value&lt;/span&gt;; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; Source&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;get&lt;/span&gt; { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; source; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt; { source = &lt;span style="COLOR: blue"&gt;value&lt;/span&gt;; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt; MessageTime&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;get&lt;/span&gt; { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; msgTime; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt; { msgTime = &lt;span style="COLOR: blue"&gt;value&lt;/span&gt;; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;3) Implement SqlLogger &lt;/p&gt;
&lt;p class=MsoNormal&gt;Now we are ready to get started&amp;nbsp; to do some real work.&amp;nbsp; The next step is to create the actual class that will be doing the logging.&amp;nbsp; In this example, this class will be called SqlLogger.&amp;nbsp; Because, we are going to use the System.Diagnostics Trace classes, this class must derive from System.Diagnostics.TraceListener.&amp;nbsp; &lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 14pt; COLOR: blue"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; Listeners&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlLogger&lt;/span&gt; : &lt;span style="COLOR: teal"&gt;TraceListener&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: teal"&gt;ILoggerProvider&lt;/span&gt; dataprovider;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; SqlLogger(&lt;span style="COLOR: teal"&gt;ILoggerProvider&lt;/span&gt; provider)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataprovider = provider;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;override&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Write(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; message)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.WriteLine(message);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;override&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Write(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; message, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; category)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.WriteLine(message, category);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;override&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; WriteLine(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; message, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; category)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; msg = &lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN-LEFT: 1in; TEXT-INDENT: 0.5in"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;new&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(message, category, &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataprovider.WriteMessage(msg);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;override&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; WriteLine(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; message)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.WriteLine(message, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Empty);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;You will notice that my constructor, is so that I can pass my data provider.&amp;nbsp; This gives the flexibility for testing or changing the data source.&amp;nbsp; In the most basic implementation, you have to implement the Write(string message) and WriteLine(string message) functions from the TraceListener object.&amp;nbsp; You will notice that all of the Write and WriteLine implementations actually are in a pair, so remember when you implement one you need to implement the other.&amp;nbsp; You will notice in my implementation, only one method is actually doing any work.&amp;nbsp; The others are must filling in information.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;4) Create SqlLogger Test&lt;/p&gt;
&lt;p class=MsoNormal&gt;We are now ready to show the test that will test some of the functionality, note – these are not complete, there are many more test that need to be here just for this simple implementation. ( That will come later in another example.)&amp;nbsp; The following is the test for this class.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; ListenerTests&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestClass&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlLoggerTest&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; SqlLoggerTest() { }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt; : &lt;span style="COLOR: teal"&gt;ILoggerProvider&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; ExpectedMessage;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#region&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; ILoggerProvider Members&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; WriteMessage(&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; logMessage)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;TestingHelpers&lt;/span&gt;.CompareLogMessages(ExpectedMessage, logMessage);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ShouldCreateMessageUsingWriteWithMessageOnly()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt; provider = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;SqlLogger&lt;/span&gt; logger = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlLogger&lt;/span&gt;(provider);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; message = &lt;span style="COLOR: maroon"&gt;"Sample Message"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;provider.ExpectedMessage = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(message, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Empty, &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.Write(message);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ShouldCreateMessageUsingWriteWithMessageAndCategory()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt; provider = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;SqlLogger&lt;/span&gt; logger = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlLogger&lt;/span&gt;(provider);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; message = &lt;span style="COLOR: maroon"&gt;"Sample Message"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; category = &lt;span style="COLOR: maroon"&gt;"Sample Category"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; provider.ExpectedMessage = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(message,category, &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.Write(message,category);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ShouldCreateMessageUsingWriteLineWithMessageOnly()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt; provider = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR: teal"&gt;SqlLogger&lt;/span&gt; logger = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlLogger&lt;/span&gt;(provider);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; message = &lt;span style="COLOR: maroon"&gt;"Sample Message"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; provider.ExpectedMessage = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(message, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Empty, &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.WriteLine(message);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ShouldCreateMessageUsingWriteLineWithMessageAndCategory()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt; provider = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;SqlLogger&lt;/span&gt; logger = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlLogger&lt;/span&gt;(provider);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; message = &lt;span style="COLOR: maroon"&gt;"Sample Message"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; category = &lt;span style="COLOR: maroon"&gt;"Sample Category"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; provider.ExpectedMessage = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(message, category, &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.WriteLine(message, category);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;4a) Implement custom ILoggerProvider for testing&lt;/p&gt;
&lt;p class=MsoNormal&gt;The most important part of these test are the fact that I am using my own implementation of the ILoggerProvider.&amp;nbsp; I would love to say that I came up with this idea, but I did not.&amp;nbsp; I actually stole the idea from &lt;a href="/jamesnewkirk/default.aspx"&gt;Jim Newkirk&lt;/a&gt; (See below)&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;MockLogProvider&lt;/span&gt; : &lt;span style="COLOR: teal"&gt;ILoggerProvider&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; ExpectedMessage;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; ILoggerProvider Members&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; WriteMessage(&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; logMessage)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;TestingHelpers&lt;/span&gt;.CompareLogMessages(ExpectedMessage, logMessage);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;This allows the separation of checking the logger against information and not having to use SQL as part of the test.&amp;nbsp; Actually, SQL will come later as part of the test.&amp;nbsp; Now with this framework, I can implement all of the methods that I choose from the TraceListener and I don’t have to worry about other stuff yet.&amp;nbsp; (This is were we will make significant improvements next time).&amp;nbsp; We will implement more part of the Trace Listener and adjust our LogMessage object in the process.&amp;nbsp; &lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;4b) Create shared Testing Library&lt;/p&gt;
&lt;p class=MsoNormal&gt;One of the things that you will notice is that I am not doing object comparisons, using Trace.AreEqual().&amp;nbsp; I like to do a property by property comparison.&amp;nbsp; This allows me to check for other things also.&amp;nbsp; The following is the class that has my common helpers for my test.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; ListenerTests&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;TestingHelpers&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; CompareLogMessages(&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; expected,&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; actual)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Assert&lt;/span&gt;.IsNotNull(expected);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Assert&lt;/span&gt;.IsNotNull(actual);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Assert&lt;/span&gt;.AreEqual(expected.Message, actual.Message);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Assert&lt;/span&gt;.AreEqual(expected.Source, actual.Source);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Assert&lt;/span&gt;.AreEqual(expected.MessageTime.ToString(), actual.MessageTime.ToString());&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;As I modify my LogMessage object, I just have one place to make adjustments for my comparisons.&amp;nbsp; So, when you are done with this process, you will have a stable Logger object and LogMessage object.&amp;nbsp; With this information you can now implement, the SQL data provider.&amp;nbsp; Since our interface is very simple to the data provider, there is only one main method, and there will be a couple of support methods, that can be used how ever you need to.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; Listeners&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlDataLogProvider&lt;/span&gt; : &lt;span style="COLOR: teal"&gt;ILoggerProvider&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; connectionString;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; SqlDataLogProvider(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; ConnectionName)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connectionString = &lt;span style="COLOR: teal"&gt;ConfigurationManager&lt;/span&gt;.ConnectionStrings[ConnectionName].ConnectionString;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; ILoggerProvider Members&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; WriteMessage(&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; logMessage)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;SqlConnection&lt;/span&gt; con = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlConnection&lt;/span&gt;(connectionString);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Open();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;SqlCommand&lt;/span&gt; cmd = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlCommand&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"INSERT INTO MessageLog (Message,Source,LogTime) VALUES (@Message,@Source,@LogTime)"&lt;/span&gt;, con);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlParameter&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"@Message"&lt;/span&gt;, logMessage.Message));&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlParameter&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"@Source"&lt;/span&gt;, logMessage.Source));&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlParameter&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"@LogTime"&lt;/span&gt;, logMessage.MessageTime));&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.ExecuteNonQuery();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Dispose();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Dispose();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: teal"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;&amp;gt; FetchMessages()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;DataSet&lt;/span&gt; ds = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;DataSet&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;&amp;gt; list = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;SqlDataAdapter&lt;/span&gt; da = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlDataAdapter&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"Select * from MessageLog"&lt;/span&gt;, connectionString);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; da.Fill(ds);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;foreach&lt;/span&gt; (&lt;span style="COLOR: teal"&gt;DataRow&lt;/span&gt; dr &lt;span style="COLOR: blue"&gt;in&lt;/span&gt; ds.Tables[0].Rows)&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; list.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(dr[&lt;span style="COLOR: maroon"&gt;"Message"&lt;/span&gt;] &lt;span style="COLOR: blue"&gt;as&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;,dr[&lt;span style="COLOR: maroon"&gt;"Source"&lt;/span&gt;] &lt;span style="COLOR: blue"&gt;as&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;,(&lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;)dr[&lt;span style="COLOR: maroon"&gt;"LogTime"&lt;/span&gt;]));&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; list;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; DeleteMessages()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;SqlConnection&lt;/span&gt; con = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlConnection&lt;/span&gt;(connectionString);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Open();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;SqlCommand&lt;/span&gt; cmd = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlCommand&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"Delete FROM MessageLog"&lt;/span&gt;, con);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.ExecuteNonQuery();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Dispose();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Dispose();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;So, from my above implementation,&amp;nbsp; I have one method from the interface ILoggerProvider, the others are for my case, testing.&amp;nbsp; I wrote separate test that show if I have my data correctly setup.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; ListenerTests&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt;This is a test class for Listeners.SqlDataLogProvider and is intended&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt;to contain all Listeners.SqlDataLogProvider Unit Tests&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestClass&lt;/span&gt;()]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlDataLogProviderTest&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlDataLogProvider&lt;/span&gt; target;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestInitialize&lt;/span&gt;()]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; MyTestInitialize()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlDataLogProvider&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"TestDb"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: green"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: green"&gt;//Use TestCleanup to run code after each test has run&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: green"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestCleanup&lt;/span&gt;()]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; MyTestCleanup()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; target.DeleteMessages();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: green"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; Constructor Test&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt;A test for SqlDataLogProvider ()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;()]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; ConstructorTest()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;SqlDataLogProvider&lt;/span&gt; target = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlDataLogProvider&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"TestDb"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Assert&lt;/span&gt;.IsNotNull(target, &lt;span style="COLOR: maroon"&gt;"The SqlDataLogProvider class was not created correctly"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; Database Test&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt;A test for WriteMessage (LogMessage)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;()]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; WriteMessageTest()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; expected = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"TestMessage"&lt;/span&gt;,&lt;span style="COLOR: maroon"&gt;"Test Source"&lt;/span&gt;,&lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; target.WriteMessage(expected);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; actual = FetchTestData();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;TestingHelpers&lt;/span&gt;.CompareLogMessages(expected, actual);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; Private Methods&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; FetchTestData()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;&amp;gt; messages = target.FetchMessages();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; messages[0];&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; Integration Test with System.Diagnostics / Configuration&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; CreateMessageWithWriteWithMessageOnly()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; expected = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"Test Message"&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Empty, &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Trace&lt;/span&gt;.Write(&lt;span style="COLOR: maroon"&gt;"Test Message"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; actual = FetchTestData();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;TestingHelpers&lt;/span&gt;.CompareLogMessages(expected, actual);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; CreateMessageWithWriteWithMessageWithCategory()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; expected = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"Test Message"&lt;/span&gt;, &lt;span style="COLOR: maroon"&gt;"Test Category"&lt;/span&gt;, &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Trace&lt;/span&gt;.Write(&lt;span style="COLOR: maroon"&gt;"Test Message"&lt;/span&gt;,&lt;span style="COLOR: maroon"&gt;"Test Category"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; actual = FetchTestData();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;TestingHelpers&lt;/span&gt;.CompareLogMessages(expected, actual);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; CreateMessageWithWriteLineWithMessageOnly()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; expected = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"Test Message"&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Empty, &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Trace&lt;/span&gt;.WriteLine(&lt;span style="COLOR: maroon"&gt;"Test Message"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; actual = FetchTestData();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;TestingHelpers&lt;/span&gt;.CompareLogMessages(expected, actual);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;TestMethod&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; CreateMessageWithWriteLineWithMessageWithCategory()&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; expected = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;"Test Message"&lt;/span&gt;, &lt;span style="COLOR: maroon"&gt;"Test Category"&lt;/span&gt;, &lt;span style="COLOR: teal"&gt;DateTime&lt;/span&gt;.Now);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;Trace&lt;/span&gt;.Write(&lt;span style="COLOR: maroon"&gt;"Test Message"&lt;/span&gt;,&lt;span style="COLOR: maroon"&gt;"Test Category"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;LogMessage&lt;/span&gt; actual = FetchTestData();&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;TestingHelpers&lt;/span&gt;.CompareLogMessages(expected, actual);&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;#endregion&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;These test, are implemented by three different areas, which are being tested.&lt;/p&gt;
&lt;ol style="MARGIN-TOP: 0in" type=1&gt;
&lt;li class=MsoNormal&gt;Constructors 
&lt;/li&gt;&lt;li class=MsoNormal&gt;Database Test 
&lt;/li&gt;&lt;li class=MsoNormal&gt;Implementation With System.Diagnostics&lt;/li&gt;&lt;/ol&gt;
&lt;p class=MsoNormal&gt;For the first we are just making sure that the application will find the Sql Connection String correctly.&amp;nbsp;&amp;nbsp; I will need to create an App.Config file for my testing project and add the following.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;add&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red"&gt;name&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;TestDb&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;connectionString&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;"&amp;lt;Your Connection Information&amp;gt;"&lt;span style="COLOR: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;After add this to the configuration the first two types of test will run correctly.&amp;nbsp; But, the real test is the last set of test that is using the System.Diagnostics namespace.&amp;nbsp; This is a true end to end test.&amp;nbsp; As the SqlLogger class is currently implemented, it will not work for our integration test.&amp;nbsp; We need to add some constructors to our class and add some more stuff to the configuration file.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;-- Add the following to the configuration file&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;system.diagnostics&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;trace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;listeners&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;clear&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;add&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: red"&gt;name&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;SqlListener&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;type&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;Listeners.SqlLogger,Listeners&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;initializeData&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;TestDb&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;listeners&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;trace&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: maroon"&gt;system.diagnostics&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;You will notice that there is an InitializeData tag added to our listener, this requires a constructor that takes a string method as follows.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 14pt; FONT-FAMILY: 'Courier New'"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; SqlLogger() { }&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; SqlLogger(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; arg) : &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;SqlDataLogProvider&lt;/span&gt;(arg)) {}&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;By adding this implementation, we now have a functional class that works end to end using the System.Diagnostics Trace/Debug methods which log to SQL.&lt;/p&gt;
&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=MsoNormal&gt;I hope that this was helpful for you.&amp;nbsp; Next time around we will gather Web information and show how it can be tested this implementation.&lt;/p&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=525425" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-00-52-54-25/SqlTraceListener.zip" length="52604" type="application/x-zip-compressed" /></item><item><title>Geek Speak: Busy as a Bee</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2006/01/12/512213.aspx</link><pubDate>Fri, 13 Jan 2006 00:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:512213</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=512213</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2006/01/12/512213.aspx#comments</comments><description>&lt;P&gt;Well, I have not posted in a while, I have been super busy developing on some cool stuff.&amp;nbsp; &lt;BR&gt;If you have not had a chance to start looking at Ajax, there are some cool stuff that you should look at.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.asp.net/default.aspx?tabindex=9&amp;amp;tabid=47"&gt;December CTP of Atlas&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://atlas.asp.net/quickstart/"&gt;Atlas Quickstarts&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.fiftyfoureleven.com/resources/programming/xmlhttprequest/"&gt;fiftyfoureleven.com&lt;/A&gt;
&lt;LI&gt;&lt;A href="http://ajax.phpmagazine.net"&gt;AjaxMagazine&lt;/A&gt;
&lt;LI&gt;&lt;A href="http://en.wikipedia.org/wiki/Ajax_%28programming%29"&gt;Ajax - Wikipedia.com&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Check it out, it works great for specific needs on your application.&amp;nbsp; It is great for calls to WebServices, which will be another article later.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=512213" width="1" height="1"&gt;</description></item><item><title>Geek Speak: GotDotNet Happy Birthday</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2005/11/14/492595.aspx</link><pubDate>Mon, 14 Nov 2005 22:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:492595</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=492595</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2005/11/14/492595.aspx#comments</comments><description>&lt;P&gt;The Gotdotnet team is throwing a Birthday Party and all Gotdotnet users are invited! The party will occur at the Microsoft Visitor Center this Friday, November 18, 2005 between 6PM and 10PM. For more event details, see &lt;a href="http://blogs.msdn.com/korbyp/archive/2005/11/14/492390.aspx"&gt;http://blogs.msdn.com/korbyp/archive/2005/11/14/492390.aspx&lt;/A&gt; or visit the Gotdotnet homepage.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=492595" width="1" height="1"&gt;</description></item><item><title>Geek Speak: Cool Stuff in spare time? Window Media Encoder SDK</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2005/10/24/484245.aspx</link><pubDate>Mon, 24 Oct 2005 21:32:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:484245</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=484245</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2005/10/24/484245.aspx#comments</comments><description>&lt;p&gt;Well, I have a little spare time.&amp;nbsp; Between moving boxes and my kids soccer, so you know I don&amp;rsquo;t have that much.&amp;nbsp; Well I have XM Radio and I just love it.&amp;nbsp; Well, becuase of where I live and Seattle area, traffic.&amp;nbsp; The trees get in the way when I am driving.&amp;nbsp; I am discovered the Windows Media Encoder SDK.&amp;nbsp; If you have not used this it is very COOL.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can get the Windows Media Encoder @ &lt;a href="http://www.microsoft.com/windows/windowsmedia/9series/encoder/default.aspx"&gt;http://www.microsoft.com/windows/windowsmedia/9series/encoder/default.aspx&lt;/a&gt;&lt;br /&gt;The Encoder allows you to record Audio and Video.&lt;/p&gt;
&lt;p&gt;I love to listen, to my XM Radio at work, well, my favorite channel is not on the internet version of XM.&amp;nbsp; I record a cycle of programs, 8 hours.&amp;nbsp; I have created a simple static wrapper, that allow for recording in segments or whole chunks.&amp;nbsp; The API&amp;rsquo;s allow for the discovery of what devices you can record from.&amp;nbsp; Since I&amp;nbsp;know when I want to record my programs.&amp;nbsp; I just hook my XM radio in to the input of my notebook and just record.&amp;nbsp; This part of the process is using the AT command to schedule the recording.&amp;nbsp; The second part is a WinForm application, that allows the splitting of large audio files.&lt;/p&gt;
&lt;p&gt;Here is the source for my helper that I created. ( &lt;a href="http://www.we-learn.net/Blog/EncoderHelper.zip"&gt;Source in Zip File&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;Here is the location for the Windows Media Encoder SDK @ &lt;a href="http://msdn.microsoft.com/windowsmedia/downloads/default.aspx"&gt;http://msdn.microsoft.com/windowsmedia/downloads/default.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=484245" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Cool+Stuff/">Cool Stuff</category></item><item><title>Geek Speak: Adventure</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2005/09/11/463829.aspx</link><pubDate>Mon, 12 Sep 2005 06:50:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:463829</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=463829</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2005/09/11/463829.aspx#comments</comments><description>&lt;p&gt;Well, as&amp;nbsp; you know, I have moved to Redmond.&amp;nbsp; I have have been here for just 6 weeks.&amp;nbsp; I have not blogged as much, but I am starting to catch up.&amp;nbsp; So here is what has been going on.&amp;nbsp; I started a new team.&amp;nbsp; I am working on the next version of GotDotNet Workspaces( &lt;a href="http://www.gotdotnet.com/"&gt;http://www.gotdotnet.com/&lt;/a&gt;&amp;nbsp;).&amp;nbsp; Since I am now at Redmond and a full time coder, does not mean that you will not see me in the community and asking for your feedback on things.&amp;nbsp; It just means that you will be seeing more of me in various ways.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;img height="120" alt="Adv" hspace="0" src="http://www.we-learn.net/blog/adv_small.jpg" width="104" align="left" border="0" /&gt;I moved to Redmond, from League City, TX, which is between Houston and Galveston.&amp;nbsp; It is very hot and humid much of the year.&amp;nbsp; The weather here the NorthWest is wonderful!!!&amp;nbsp; My kids love the weather for soccer, they don&amp;rsquo;t have to woory about playing in 100 degree weather and sweating like pigs.&amp;nbsp; In exchange, we will have snow and rain for winter time.&amp;nbsp; But I do get to go on hikes and have view like this on the left.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Just to let you know that I have not been bored, I have make a trip to visit the VSTS team on the East coast and a trip to Calgary Canada to visit vendors with a splash of coding.&amp;nbsp; My new passions is VSTS and Avalon.&amp;nbsp; I will be showing some screen shots and other stuff with how you can put together some of your own Avalon applications and create some really cool stuff.&lt;/p&gt;
&lt;p&gt;Here is some places to get started with Avalon.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/windowsvista/building/presentation/default.aspx" target="_blank"&gt;Avalon Home&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.windows.developer.winfx.avalon&amp;amp;lang=en&amp;amp;cr=US" target="_blank"&gt;Avalon Newsgroup&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Who do you work with?&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/betsya/default.aspx" target="_blank"&gt;Betsy Aoki ( My office mate )&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/jamesnewkirk/default.aspx"&gt;Jim Newkirk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/korbyp/default.aspx" target="_blank"&gt;Korby Parnell&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/sandyk/default.aspx" target="_blank"&gt;Sandy Khaund&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=463829" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/GotDotNet/">GotDotNet</category></item><item><title>Geek Speak: Testing Tip with VSTS</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2005/08/26/456908.aspx</link><pubDate>Sat, 27 Aug 2005 00:30:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:456908</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=456908</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2005/08/26/456908.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;Situation:&amp;nbsp; I am testing some code that had a constructor that using the configuration file.&lt;br /&gt;&lt;/font&gt;&lt;font size="4"&gt;&lt;/p&gt;&lt;/font&gt;&lt;pre&gt;        public XmlBase()
        {
            if (ConfigurationManager.ConnectionStrings  != null)
            {
                connectionString = ConfigurationManager.ConnectionStrings["dbConnectionString"].ConnectionString;
                con = new SqlConnection(connectionString);
            }
        }
&lt;/pre&gt;&lt;pre&gt;&lt;font size="2"&gt;While testing it may seem that you need to override the constructor&lt;br /&gt;to pass in some other information for testing.  But, with VSTS you&lt;br /&gt;you just need to implement the same type of functionality like NUnit.&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre&gt;&lt;font size="2"&gt;1. Take the config file that you want to use in the test and copy it &lt;br /&gt;to where the dll is where the testing project created and rename&lt;br /&gt;&amp;lt;project.dll&amp;gt;.config.&lt;br /&gt;2. Test the code.&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;For more information: &lt;br /&gt;&lt;a href="http://blog.u2u.info/DottextWeb/peter/archive/2005/07/13/6179.aspx"&gt;http://blog.u2u.info/DottextWeb/peter/archive/2005/07/13/6179.aspx&lt;/a&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=456908" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Cool+Stuff/">Cool Stuff</category><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/Visual+Studio+2005/">Visual Studio 2005</category></item><item><title>WebParts Webcast Code</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2005/07/25/443168.aspx</link><pubDate>Tue, 26 Jul 2005 01:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:443168</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=443168</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2005/07/25/443168.aspx#comments</comments><description>&lt;P&gt;Sorry for the late entry.&amp;nbsp; I am in the middle of moving to Redmond.&amp;nbsp; The packers are here&amp;nbsp; and they have in a day packed my house and I am amazed.&amp;nbsp; Three guys in half a day packed all of the inside of my house.&amp;nbsp; Truly amazing!!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the code:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.we-learn.net/blog/RssTesting.zip"&gt;WebPart Code&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;David Waddleton&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=443168" width="1" height="1"&gt;</description></item><item><title>Geek Speak: Moving to Redmond</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2005/06/19/430532.aspx</link><pubDate>Sun, 19 Jun 2005 07:59:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:430532</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=430532</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2005/06/19/430532.aspx#comments</comments><description>&lt;p&gt;Hey,&lt;/p&gt;
&lt;p&gt;Well, I will blogging about different stuff.&amp;nbsp; I am officially moving to a new job.&amp;nbsp; I am going to be the new Developer Lead over GotDotNet. (&lt;a href="http://www.gotdotnet.com/"&gt;http://www.gotdotnet.com&lt;/a&gt;). So what does that really mean?&amp;nbsp; I will be managing a group of developers, but I still get to get my hands dirty.&amp;nbsp; I am going to have to move to Redmond, WA, to the mother ship of Microsoft.&amp;nbsp; I will be still blogging, but it will be about specifics on how different technologies integrate together and ideas on how the community likes some features and ideas.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=430532" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/davidwaddleton/archive/tags/News/">News</category></item><item><title>Geek Speak: TechEd 2005 - Orlando</title><link>http://blogs.msdn.com/b/davidwaddleton/archive/2005/06/04/425184.aspx</link><pubDate>Sat, 04 Jun 2005 14:11:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:425184</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/davidwaddleton/rsscomments.aspx?WeblogPostID=425184</wfw:commentRss><comments>http://blogs.msdn.com/b/davidwaddleton/archive/2005/06/04/425184.aspx#comments</comments><description>&lt;p&gt;I am already blogging about TechEd.&amp;nbsp; But wait, am I at TechEd already, no!&amp;nbsp; I will be at the airport for a 7:10 am flight to Orlando so that I can help setup the Hands On Lab machines.&amp;nbsp; When you go, I created the landing page screen for the Hands On Labs, and before you ask, I didn&amp;rsquo;t say that they were pretty!!!&amp;nbsp; But is really so special about the Hands on Labs?&amp;nbsp; There are roughly 8 banks of machines with 100 machines in each bank!!! WOW 800 machines for you do to do Hands on Labs, now that is a lot of machines!!!&lt;/p&gt;
&lt;p&gt;If you don&amp;rsquo;t see me around there, I will be working in the SQL Server 2005 area, or you will see me on the bus.&amp;nbsp; Did I just say the bus? Yes, the Microsoft Across America bus will be at TechEd.&amp;nbsp; This is my team&amp;rsquo;s special RV bus full of technology with wheels!!!&lt;/p&gt;
&lt;p&gt;See you there!! look me up I will be around!&lt;/p&gt;
&lt;p&gt;David&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=425184" width="1" height="1"&gt;</description></item></channel></rss>
