<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>C# Distilled : Architecture</title><link>http://msmvps.com/blogs/cdistilled/archive/tags/Architecture/default.aspx</link><description>Tags: Architecture</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>CodePlex Project - CSharpDistilled.Diagnostics 1.0.0.3</title><link>http://msmvps.com/blogs/cdistilled/archive/2006/08/09/107105.aspx</link><pubDate>Wed, 09 Aug 2006 06:24:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:107105</guid><dc:creator>DougHolland</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cdistilled/rsscomments.aspx?PostID=107105</wfw:commentRss><comments>http://msmvps.com/blogs/cdistilled/archive/2006/08/09/107105.aspx#comments</comments><description>&lt;P&gt;&lt;A href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=CSharpDistilled"&gt;&lt;IMG src="/photos/cdistilled/images/107104/original.aspx" border=0&gt; &lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You've probably noticed that it has been a few weeks since my last blog posting here and that is largely due to the fact that I've been working on a open source project called &lt;A href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=CSharpDistilled"&gt;CSharpDistilled.Diagnostics&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;While at &lt;A href="http://www.msteched.com/"&gt;Microsoft TechEd&lt;/A&gt; this year I got talking to the folks at the &lt;A href="http://www.codeplex.com/"&gt;CodePlex&lt;/A&gt; area about the exciting things they were doing with exposing Microsoft Team Foundation Server through the Web for open source projects.&lt;/P&gt;
&lt;P&gt;Uploaded tonight, is the first version of the &lt;A href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=CSharpDistilled"&gt;CSharpDistilled.Diagnostics&lt;/A&gt; framework which includes the main C# library project, unit testing project, database project, and associated setup project. Although you'll need Visual Studio 2005 Team Developer or Team Suite to use the unit testing project.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=CSharpDistilled"&gt;CSharpDistilled.Diagnostics&lt;/A&gt; introduces a new framework for publishing exceptions, based upon the ASP.NET 2.0 Provider design pattern. Using this framework you can configure one or more exception providers within an application domain configuration file (e.g. app.config or Web.config) and at runtime the framework determines the appropriate provider to publish the exceptions to.&lt;/P&gt;
&lt;P&gt;The default exception provider within the framework is the SqlExceptionProvider class, which is responsible for persisting exceptions within a SQL Server 2005 database. Within the database there is the Exception table which contains columns for the each of the properties defined within the &lt;A href="http://msdn2.microsoft.com/en-us/library/system.exception.aspx"&gt;System.Exception&lt;/A&gt; base exception class, however it also contains a column that uses the new XML column type, within SQL Server 2005, to enable&amp;nbsp;the database to store&amp;nbsp;the exceptions serialized using the .NET Framework's &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemRuntimeSerializationFormattersSoapSoapFormatterClassTopic.asp"&gt;SoapFormatter&lt;/A&gt; class. The serialized exceptions will then allow developers to examine the various properties that may exist on exceptions derived from &lt;A href="http://msdn2.microsoft.com/en-us/library/system.exception.aspx"&gt;System.Exception&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;When debugging exceptions that occur either within a development environment, or especially within a production environment, knowledge is power!!!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=CSharpDistilled"&gt;CSharpDistilled.Diagnostics&lt;/A&gt; is intended to provide that power such that .NET developers can sleep easy at night knowing that their exceptions are being published and that they'll be able to resolve the issues that caused the exception in the first place.&lt;/P&gt;
&lt;P&gt;Although the project is listed as an alpha release on &lt;A href="http://www.codeplex.com/"&gt;CodePlex&lt;/A&gt; the framework is fully functional and will persist exceptions, and the various inner-exceptions, to the SQL Server 2005 database. In reality it is alpha because I'd like to get as much feedback from people who download it before I release a beta release which will then be functionally complete and unlikely to change aside from some internal workings which may be tweeked before a final RTM build is made available.&lt;/P&gt;
&lt;P&gt;So hopefully the alpha nature of the release won't stop you from downloading the framework and letting me know what you think.&lt;/P&gt;
&lt;P&gt;Finally, once the framework has been released with one or two exception providers it is my intent to provide both a Windows Forms and ASP.NET based&amp;nbsp;&lt;EM&gt;Diagnostics Management Studio&lt;/EM&gt;, which would allow development teams to more easily search through exceptions that have been logged either in production or development environments. There is even a chance that the &lt;EM&gt;Diagnostics Management Studio&lt;/EM&gt; will find itself as a plug-in to either Visual Studio 2005 or Microsoft Outlook 2007 (once released).&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=107105" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cdistilled/archive/tags/C_2300_+Programming+Language/default.aspx">C# Programming Language</category><category domain="http://msmvps.com/blogs/cdistilled/archive/tags/Microsoft+TechEd+2006/default.aspx">Microsoft TechEd 2006</category><category domain="http://msmvps.com/blogs/cdistilled/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Iron Architect Contest at Microsoft TechEd 2006</title><link>http://msmvps.com/blogs/cdistilled/archive/2006/06/09/100522.aspx</link><pubDate>Fri, 09 Jun 2006 22:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:100522</guid><dc:creator>DougHolland</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cdistilled/rsscomments.aspx?PostID=100522</wfw:commentRss><comments>http://msmvps.com/blogs/cdistilled/archive/2006/06/09/100522.aspx#comments</comments><description>&lt;P&gt;If, like me, you're attending the &lt;A href="http://www.msteched.com"&gt;Microsoft TechEd 2006&lt;/A&gt; conferrence in Boston and either work as an architect or have an interest in software architecture then I would recommend you check out the &lt;A href="http://blogs.msdn.com/ironarchitect/"&gt;Iron Architect Contest&lt;/A&gt; where the winner will win a Microsoft Architecture certification worth $10,000.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=100522" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cdistilled/archive/tags/Microsoft+TechEd+2006/default.aspx">Microsoft TechEd 2006</category><category domain="http://msmvps.com/blogs/cdistilled/archive/tags/Architecture/default.aspx">Architecture</category></item></channel></rss>