<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>ChristianASP.NET Blog - Components</title>
    <link>http://blog.christianasp.net/</link>
    <description>Talking about ASP.NET and Web Hosting</description>
    <image>
      <url>http://blog.christianasp.net/themes/casp/feedimg.gif</url>
      <title>ChristianASP.NET Blog - Components</title>
      <link>http://blog.christianasp.net/</link>
    </image>
    <language>en-us</language>
    <copyright>ChristianASP.NET</copyright>
    <lastBuildDate>Sun, 14 May 2006 19:52:11 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>david@christianasp.net</managingEditor>
    <webMaster>david@christianasp.net</webMaster>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=88943378-af8f-4a12-ab22-54d6b3a6d0b8</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,88943378-af8f-4a12-ab22-54d6b3a6d0b8.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,88943378-af8f-4a12-ab22-54d6b3a6d0b8.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=88943378-af8f-4a12-ab22-54d6b3a6d0b8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://weblogs.asp.net/mhawley">Matt
Hawley</a> has been working around the clock, it seems, and has <a href="http://weblogs.asp.net/mhawley/archive/2006/05/13/446349.aspx">publicly
released v2.0</a> of his free ASP.NET server controls.  Controls included: 
<br /><br /><table border="0" cellpadding="3" cellspacing="0"><tbody><tr><td><b>CalendarPopup </b></td><td>
a great calendar tool to allow users to choose a date<br /></td></tr><tr><td><b>CollapsablePanel </b></td><td>
a panel that can be collapsed on the client<br /></td></tr><tr><td><b>FaqRepeater </b></td><td>
databound FAQ-style listing control<br /></td></tr><tr><td><b>ListTransfer </b></td><td>
(re-order listbox or move items from one listbox to another)</td></tr><tr><td><b>MaskedTextBox </b></td><td>
add a masked textbox to your forms<br /></td></tr><tr><td><b>MultiTextDropDownList </b></td><td>
drop-down list with multiple columns<br /></td></tr><tr><td><b>MultiTextListBox </b></td><td>
listbox with multiple columns<br /></td></tr><tr><td><b>NumericBox </b></td><td>
add a textbox that only accepts numerical input<br /></td></tr><tr><td><b>TimePicker </b></td><td>
add time selections to a form</td></tr></tbody></table><br />
I believe that each of these controls are cross-browser compatible.  <a href="http://www.eworldui.net/download.aspx">Download</a> the
release candidate and check them out!<br /><p></p><img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=88943378-af8f-4a12-ab22-54d6b3a6d0b8" /></body>
      <title>Excentrics World Server Controls v2.0, RC1</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,88943378-af8f-4a12-ab22-54d6b3a6d0b8.aspx</guid>
      <link>http://blog.christianasp.net/2006/05/14/ExcentricsWorldServerControlsV20RC1.aspx</link>
      <pubDate>Sun, 14 May 2006 19:52:11 GMT</pubDate>
      <description>&lt;a href="http://weblogs.asp.net/mhawley"&gt;Matt Hawley&lt;/a&gt; has been working around the
clock, it seems, and has &lt;a href="http://weblogs.asp.net/mhawley/archive/2006/05/13/446349.aspx"&gt;publicly
released v2.0&lt;/a&gt; of his free ASP.NET server controls.&amp;nbsp; Controls included: 
&lt;br&gt;
&lt;br&gt;
&lt;table border="0" cellpadding="3" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;b&gt;CalendarPopup &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
a great calendar tool to allow users to choose a date&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;b&gt;CollapsablePanel &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
a panel that can be collapsed on the client&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;b&gt;FaqRepeater &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
databound FAQ-style listing control&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;b&gt;ListTransfer &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
(re-order listbox or move items from one listbox to another)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;b&gt;MaskedTextBox &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
add a masked textbox to your forms&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;b&gt;MultiTextDropDownList &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
drop-down list with multiple columns&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;b&gt;MultiTextListBox &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
listbox with multiple columns&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;b&gt;NumericBox &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
add a textbox that only accepts numerical input&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;b&gt;TimePicker &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;
add time selections to a form&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
I believe that each of these controls are cross-browser compatible.&amp;nbsp; &lt;a href="http://www.eworldui.net/download.aspx"&gt;Download&lt;/a&gt; the
release candidate and check them out!&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=88943378-af8f-4a12-ab22-54d6b3a6d0b8" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,88943378-af8f-4a12-ab22-54d6b3a6d0b8.aspx</comments>
      <category>ASP.NET 2.0</category>
      <category>Components</category>
      <category>Free Stuff</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=78ec6fc3-3bf6-442d-8d3a-c667b81cc992</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,78ec6fc3-3bf6-442d-8d3a-c667b81cc992.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,78ec6fc3-3bf6-442d-8d3a-c667b81cc992.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=78ec6fc3-3bf6-442d-8d3a-c667b81cc992</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.argosoft.com">ArgoSoft</a> have
just announced a <a href="http://www.argosoft.com/RootPages/EmailValidationService/Default.aspx">free
e-mail validation Web service</a>, based on their years of experience with their <a href="http://www.argosoft.com/RootPages/MailServer/Default.aspx">Mail
Server</a> product.  Plug it into your ASP.NET app for real-time e-mail address
verfication!<br /><br />
I've used ArgoSoft's Mail Server for years and have found it to be a great product
at an unbeatable price.  ArgoSoft support has always been top-notch, as well. 
Highly recommended.<br /><p></p><img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=78ec6fc3-3bf6-442d-8d3a-c667b81cc992" /></body>
      <title>Free E-mail Validation Web Service</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,78ec6fc3-3bf6-442d-8d3a-c667b81cc992.aspx</guid>
      <link>http://blog.christianasp.net/2006/05/02/FreeEmailValidationWebService.aspx</link>
      <pubDate>Tue, 02 May 2006 21:31:06 GMT</pubDate>
      <description>&lt;a href="http://www.argosoft.com"&gt;ArgoSoft&lt;/a&gt; have just announced a &lt;a href="http://www.argosoft.com/RootPages/EmailValidationService/Default.aspx"&gt;free
e-mail validation Web service&lt;/a&gt;, based on their years of experience with their &lt;a href="http://www.argosoft.com/RootPages/MailServer/Default.aspx"&gt;Mail
Server&lt;/a&gt; product.&amp;nbsp; Plug it into your ASP.NET app for real-time e-mail address
verfication!&lt;br&gt;
&lt;br&gt;
I've used ArgoSoft's Mail Server for years and have found it to be a great product
at an unbeatable price.&amp;nbsp; ArgoSoft support has always been top-notch, as well.&amp;nbsp;
Highly recommended.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=78ec6fc3-3bf6-442d-8d3a-c667b81cc992" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,78ec6fc3-3bf6-442d-8d3a-c667b81cc992.aspx</comments>
      <category>ASP.NET</category>
      <category>ASP.NET 2.0</category>
      <category>Components</category>
      <category>Free Stuff</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=e0d6b253-b2c2-41cd-bb1f-411f7209effe</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,e0d6b253-b2c2-41cd-bb1f-411f7209effe.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,e0d6b253-b2c2-41cd-bb1f-411f7209effe.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=e0d6b253-b2c2-41cd-bb1f-411f7209effe</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">In case someone else would like to know
how to create a singleton DataManager class for WilsonORMapper that uses IsolatedContext
and works in ASP.NET...<br /><br /><a href="http://www.christianasp.net/downloads/DataManager.cs.txt">View DataManager.cs</a><br /><br /><font face="Courier New">using System.Configuration;<br />
using System.IO;<br />
using System.Reflection;<br />
using System.Web;<br />
using Wilson.ORMapper;<br /><br />
namespace Portal.Data<br />
{<br />
    /// &lt;summary&gt;<br />
    /// The DataManager class is the singleton instance of the ObjectSpace
class<br />
    /// &lt;/summary&gt;<br />
    public sealed class DataManager<br />
    {<br />
        private const string MAPPING_FILE = "Mapping.config";<br />
        private static readonly Guid CONTEXT_KEY = Guid.NewGuid();<br />
        <br />
        /// &lt;summary&gt;The application connection
string read from app.config&lt;/summary&gt;        <br />
        /// &lt;example&gt;<br />
        /// Add the following key to the "appSettings"
section of your config:<br />
        /// &lt;code&gt;&lt;![CDATA[<br />
        ///     &lt;configuration&gt;<br />
        ///          
 &lt;appSettings&gt;<br />
        ///          
     &lt;add key="IMI.Portal.Framework.Data.ConnectionString"
value="Data Source=(local);Initial Catalog=DATABASE;User ID=USERNAME;Password=PASSWORD;"
/&gt;<br />
        ///          
 &lt;/appSettings&gt;<br />
        ///     &lt;/configuration&gt;<br />
        /// ]]&gt;&lt;/code&gt;<br />
        /// &lt;/example&gt;<br />
        public static readonly string ConnectionString
= ConfigurationSettings.AppSettings["ConnectionString"];<br />
        public static readonly string CurrentProvider
= ConfigurationSettings.AppSettings["Provider"];<br /><br />
        /// &lt;summary&gt;The singletion instance of
an ObjectSpace Class&lt;/summary&gt;<br />
        private static ObjectSpace objectSpace; // =
GetDefaultInstance();<br />
        private static object syncLock = new object();<br /><br />
        private DataManager()<br />
        { }<br /><br />
        #region public static ObjectSpace ObjectSpace<br /><br />
        /// &lt;summary&gt;The singleton method for
retrieving the global ObjectSpace&lt;/summary&gt;<br />
        public static ObjectSpace ObjectSpace<br />
        {<br />
            get<br />
            {<br />
                if (objectSpace
== null)<br />
                {<br />
                  
 lock (syncLock)<br />
                  
 {<br />
                  
     if (objectSpace == null)<br />
                  
     {<br />
                  
         objectSpace = GetDefaultInstance();<br />
                  
     }<br />
                  
 }<br />
                }<br />
                <br />
                HttpContext
context = HttpContext.Current;<br />
                if (context
!= null)<br />
                {<br />
                  
 ObjectSpace isolatedContext = (ObjectSpace) context.Items[CONTEXT_KEY];<br />
                  
 if (isolatedContext == null)<br />
                  
 {<br />
                  
     // Cache the isolated context in the current request so that
it is used<br />
                  
     // throughout the entire request<br /><br />
                  
     isolatedContext = objectSpace.IsolatedContext;<br />
                  
     context.Items[CONTEXT_KEY] = isolatedContext;<br />
                  
 }<br />
                  
 return isolatedContext;<br />
                }<br />
                else<br />
                {<br />
                  
 return objectSpace;<br />
                }<br />
            }<br />
        }<br /><br />
        #endregion<br /><br />
        #region private static ObjectSpace GetDefaultInstance()<br /><br />
        private static ObjectSpace GetDefaultInstance()<br />
        {<br />
            Assembly assembly = Assembly.GetAssembly(typeof(DataManager));<br />
            <br />
            using (Stream mappingStream
= assembly.GetManifestResourceStream(<br />
                typeof(DataManager), 
<br />
                MAPPING_FILE))<br />
            {<br /><br />
                switch(CurrentProvider)<br />
                {<br />
                  
 case "MySQL":<br /><br />
                  
     return new ObjectSpace(<br />
                  
         mappingStream, 
<br />
                  
         ConnectionString, 
<br />
                  
         GetMySQLProvider(),<br />
                  
         20, 5);<br /><br />
                  
 case "PostgreSQL":<br /><br />
                  
     return new ObjectSpace(<br />
                  
         mappingStream, 
<br />
                  
         ConnectionString, 
<br />
                  
         GetPostgreSQLProvider(),<br />
                  
         20, 5);<br /><br />
                  
 // TODO: Oracle?<br /><br />
                  
 default:<br /><br />
                  
     return new ObjectSpace(<br />
                  
         mappingStream, 
<br />
                  
         ConnectionString,<br />
                  
         Provider.MsSql,<br />
                  
         20, 5);<br /><br />
                }<br />
                <br />
            }<br />
        }<br /><br />
        #endregion<br /><br />
        #region private static CustomProvider GetMySQLProvider()<br /><br />
        private static CustomProvider GetMySQLProvider()<br />
        {<br />
            //Provider provider; 
<br />
            CustomProvider provider; 
<br />
            provider=new CustomProvider("MySql.Data",
"MySql.Data.MySqlClient.MySqlConnection", "MySql.Data.MySqlClient.MySqlDataAdapter"); 
<br />
            provider.StartDelimiter=""; 
<br />
            provider.EndDelimiter=""; 
<br />
            provider.LineTerminator=";"; 
<br />
            provider.IdentityQuery= "SELECT
LAST_INSERT_ID()"; 
<br />
            provider.SelectPageQuery="SELECT
* LIMIT {0} OFFSET {1}"; 
<br />
            provider.ParameterPrefix
= "?"; 
<br />
            provider.GuidDelimiter =
"'";<br /><br />
            return provider;<br />
            <br />
        }<br /><br />
        #endregion<br /><br />
        #region private static CustomProvider GetPostgreSQLProvider()<br /><br />
        private static CustomProvider GetPostgreSQLProvider()<br />
        {<br />
            // Npgsql, the .NET provider
for PostgreSQL can be found here:<br />
            // http://pgfoundry.org/projects/npgsql<br /><br />
            CustomProvider provider; 
<br />
            provider=new CustomProvider("Npgsql",
"Npgsql.NpgsqlConnection", "Npgsql.NpgsqlDataAdapter"); 
<br />
            provider.StartDelimiter="["; 
<br />
            provider.EndDelimiter="]"; 
<br />
            provider.LineTerminator=";"; 
<br />
            provider.IdentityQuery= "SELECT
currval('{1}_{0}_seq')"; 
<br />
            provider.SelectPageQuery="SELECT
* LIMIT {0} OFFSET {1}"; 
<br />
            provider.ParameterPrefix
= ":"; 
<br />
            //not sure about this<br />
            provider.GuidDelimiter =
"'";<br /><br />
            return provider;<br />
            <br />
        }<br /><br />
        #endregion<br />
    }<br />
}<br />
        
<br /></font><img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=e0d6b253-b2c2-41cd-bb1f-411f7209effe" /></body>
      <title>DataManager Class with IsolatedContext for WilsonORMapper</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,e0d6b253-b2c2-41cd-bb1f-411f7209effe.aspx</guid>
      <link>http://blog.christianasp.net/2006/02/23/DataManagerClassWithIsolatedContextForWilsonORMapper.aspx</link>
      <pubDate>Thu, 23 Feb 2006 02:43:01 GMT</pubDate>
      <description>In case someone else would like to know how to create a singleton DataManager class for WilsonORMapper that uses IsolatedContext and works in ASP.NET...&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.christianasp.net/downloads/DataManager.cs.txt"&gt;View DataManager.cs&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font face="Courier New"&gt;using System.Configuration;&lt;br&gt;
using System.IO;&lt;br&gt;
using System.Reflection;&lt;br&gt;
using System.Web;&lt;br&gt;
using Wilson.ORMapper;&lt;br&gt;
&lt;br&gt;
namespace Portal.Data&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;/// The DataManager class is the singleton instance of the ObjectSpace
class&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;public sealed class DataManager&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;private const string MAPPING_FILE = "Mapping.config";&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static readonly Guid CONTEXT_KEY = Guid.NewGuid();&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;summary&amp;gt;The application connection
string read from app.config&amp;lt;/summary&amp;gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;example&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// Add the following key to the "appSettings"
section of your config:&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;code&amp;gt;&amp;lt;![CDATA[&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;configuration&amp;gt;&lt;br&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;&amp;lt;appSettings&amp;gt;&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;add key="IMI.Portal.Framework.Data.ConnectionString"
value="Data Source=(local);Initial Catalog=DATABASE;User ID=USERNAME;Password=PASSWORD;"
/&amp;gt;&lt;br&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;&amp;lt;/appSettings&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/configuration&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// ]]&amp;gt;&amp;lt;/code&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;/example&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;public static readonly string ConnectionString
= ConfigurationSettings.AppSettings["ConnectionString"];&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;public static readonly string CurrentProvider
= ConfigurationSettings.AppSettings["Provider"];&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;summary&amp;gt;The singletion instance of
an ObjectSpace Class&amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;private static ObjectSpace objectSpace; // =
GetDefaultInstance();&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;private static object syncLock = new object();&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;private DataManager()&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{ }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#region public static ObjectSpace ObjectSpace&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/// &amp;lt;summary&amp;gt;The singleton method for
retrieving the global ObjectSpace&amp;lt;/summary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;public static ObjectSpace ObjectSpace&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;get&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br&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;if (objectSpace
== null)&lt;br&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;br&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;lock (syncLock)&lt;br&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;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (objectSpace == null)&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;objectSpace = GetDefaultInstance();&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&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;br&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;br&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;br&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;HttpContext
context = HttpContext.Current;&lt;br&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;if (context
!= null)&lt;br&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;br&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;ObjectSpace isolatedContext = (ObjectSpace) context.Items[CONTEXT_KEY];&lt;br&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;if (isolatedContext == null)&lt;br&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;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Cache the isolated context in the current request so that
it is used&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;// throughout the entire request&lt;br&gt;
&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;isolatedContext = objectSpace.IsolatedContext;&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;context.Items[CONTEXT_KEY] = isolatedContext;&lt;br&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;br&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;return isolatedContext;&lt;br&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;br&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;else&lt;br&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;br&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;return objectSpace;&lt;br&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;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endregion&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#region private static ObjectSpace GetDefaultInstance()&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;private static ObjectSpace GetDefaultInstance()&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Assembly assembly = Assembly.GetAssembly(typeof(DataManager));&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;using (Stream mappingStream
= assembly.GetManifestResourceStream(&lt;br&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;typeof(DataManager), 
&lt;br&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;MAPPING_FILE))&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br&gt;
&lt;br&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;switch(CurrentProvider)&lt;br&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;br&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;case "MySQL":&lt;br&gt;
&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;return new ObjectSpace(&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;mappingStream, 
&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ConnectionString, 
&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;GetMySQLProvider(),&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;20, 5);&lt;br&gt;
&lt;br&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;case "PostgreSQL":&lt;br&gt;
&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;return new ObjectSpace(&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;mappingStream, 
&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ConnectionString, 
&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;GetPostgreSQLProvider(),&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;20, 5);&lt;br&gt;
&lt;br&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;// TODO: Oracle?&lt;br&gt;
&lt;br&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;default:&lt;br&gt;
&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;return new ObjectSpace(&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;mappingStream, 
&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ConnectionString,&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Provider.MsSql,&lt;br&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;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;20, 5);&lt;br&gt;
&lt;br&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;br&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;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endregion&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#region private static CustomProvider GetMySQLProvider()&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;private static CustomProvider GetMySQLProvider()&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Provider provider; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;CustomProvider provider; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider=new CustomProvider("MySql.Data",
"MySql.Data.MySqlClient.MySqlConnection", "MySql.Data.MySqlClient.MySqlDataAdapter"); 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.StartDelimiter=""; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.EndDelimiter=""; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.LineTerminator=";"; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.IdentityQuery= "SELECT
LAST_INSERT_ID()"; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.SelectPageQuery="SELECT
* LIMIT {0} OFFSET {1}"; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.ParameterPrefix
= "?"; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.GuidDelimiter =
"'";&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return provider;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endregion&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#region private static CustomProvider GetPostgreSQLProvider()&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;private static CustomProvider GetPostgreSQLProvider()&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Npgsql, the .NET provider
for PostgreSQL can be found here:&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// http://pgfoundry.org/projects/npgsql&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;CustomProvider provider; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider=new CustomProvider("Npgsql",
"Npgsql.NpgsqlConnection", "Npgsql.NpgsqlDataAdapter"); 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.StartDelimiter="["; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.EndDelimiter="]"; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.LineTerminator=";"; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.IdentityQuery= "SELECT
currval('{1}_{0}_seq')"; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.SelectPageQuery="SELECT
* LIMIT {0} OFFSET {1}"; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.ParameterPrefix
= ":"; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//not sure about this&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;provider.GuidDelimiter =
"'";&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return provider;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#endregion&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br&gt;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&lt;/font&gt;&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=e0d6b253-b2c2-41cd-bb1f-411f7209effe" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,e0d6b253-b2c2-41cd-bb1f-411f7209effe.aspx</comments>
      <category>Components</category>
      <category>Wilson O/R Mapper</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=c90075a2-faa8-45e3-894f-ccaec774709e</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,c90075a2-faa8-45e3-894f-ccaec774709e.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,c90075a2-faa8-45e3-894f-ccaec774709e.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=c90075a2-faa8-45e3-894f-ccaec774709e</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">Version 0.9.2 of MySQLSchemaProvider for
CodeSmith and MySQL 5.0 is now available for <a href="http://www.christianasp.net/downloads/MySQLSchemaProvider.zip">download</a>. 
Changes include:<br /><ul><li>
Updated GetTableKeys() to provide not only the foreign keys for the table but also
the foreign keys of other tables that point to the given table. Code update graciously
provided by <a href="http://www.drsteen.com/dugblog">Dug Steen</a>.  Thanks!</li><li>
Added .NET 2.0 version for CodeSmith 3.2.5 or higher<br /></li><li>
.NET 1.1 version requires CodeSmith 3.1.6</li></ul>
Keep in mind that the version requirements are for the assemblies that ship with the
current download.  If you are using a previous 3.xx version of CodeSmith, you
can simply recompile from the source code and it should work.<br /><p></p><img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=c90075a2-faa8-45e3-894f-ccaec774709e" /></body>
      <title>MySQL Schema Provider 0.9.2 Released</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,c90075a2-faa8-45e3-894f-ccaec774709e.aspx</guid>
      <link>http://blog.christianasp.net/2006/02/18/MySQLSchemaProvider092Released.aspx</link>
      <pubDate>Sat, 18 Feb 2006 06:38:57 GMT</pubDate>
      <description>Version 0.9.2 of MySQLSchemaProvider for CodeSmith and MySQL 5.0 is now available for &lt;a href="http://www.christianasp.net/downloads/MySQLSchemaProvider.zip"&gt;download&lt;/a&gt;.&amp;nbsp;
Changes include:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
Updated GetTableKeys() to provide not only the foreign keys for the table but also
the foreign keys of other tables that point to the given table. Code update graciously
provided by &lt;a href="http://www.drsteen.com/dugblog"&gt;Dug Steen&lt;/a&gt;.&amp;nbsp; Thanks!&lt;/li&gt;
&lt;li&gt;
Added .NET 2.0 version for CodeSmith 3.2.5 or higher&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
.NET 1.1 version requires CodeSmith 3.1.6&lt;/li&gt;
&lt;/ul&gt;
Keep in mind that the version requirements are for the assemblies that ship with the
current download.&amp;nbsp; If you are using a previous 3.xx version of CodeSmith, you
can simply recompile from the source code and it should work.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=c90075a2-faa8-45e3-894f-ccaec774709e" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,c90075a2-faa8-45e3-894f-ccaec774709e.aspx</comments>
      <category>MySQL</category>
      <category>Components</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=685d3480-4bb0-4495-a103-206b0b6b3b47</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,685d3480-4bb0-4495-a103-206b0b6b3b47.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,685d3480-4bb0-4495-a103-206b0b6b3b47.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=685d3480-4bb0-4495-a103-206b0b6b3b47</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Yahoo! has released a free library of AJAX-enabled <a href="http://developer.yahoo.net/yui/index.html">UI
components</a>, including a set of core utilities for animation, drag-and-drop, events,
DOM, as well as calendar, slider, and treeview controls.  The components are
both free and open-source under a <a href="http://developer.yahoo.net/yui/license.txt">BSD
license</a>.<br /><br />
Also noteworthy is the new <a href="http://developer.yahoo.net/ypatterns/index.php">Yahoo!
Design Pattern Library</a>.  Here they attempt to demonstrate UI best practices
for the Web including breadcrumbs, pagination, and other common UI elements. 
This is their first installment of what they promise to be a monthly installment of
the latest Web patterns and practices.<br /><p></p><img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=685d3480-4bb0-4495-a103-206b0b6b3b47" /></body>
      <title>Free AJAX UI Library From Yahoo!</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,685d3480-4bb0-4495-a103-206b0b6b3b47.aspx</guid>
      <link>http://blog.christianasp.net/2006/02/14/FreeAJAXUILibraryFromYahoo.aspx</link>
      <pubDate>Tue, 14 Feb 2006 18:24:25 GMT</pubDate>
      <description>Yahoo! has released a free library of AJAX-enabled &lt;a href="http://developer.yahoo.net/yui/index.html"&gt;UI
components&lt;/a&gt;, including a set of core utilities for animation, drag-and-drop, events,
DOM, as well as calendar, slider, and treeview controls.&amp;nbsp; The components are
both free and open-source under a &lt;a href="http://developer.yahoo.net/yui/license.txt"&gt;BSD
license&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Also noteworthy is the new &lt;a href="http://developer.yahoo.net/ypatterns/index.php"&gt;Yahoo!
Design Pattern Library&lt;/a&gt;.&amp;nbsp; Here they attempt to demonstrate UI best practices
for the Web including breadcrumbs, pagination, and other common UI elements.&amp;nbsp;
This is their first installment of what they promise to be a monthly installment of
the latest Web patterns and practices.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=685d3480-4bb0-4495-a103-206b0b6b3b47" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,685d3480-4bb0-4495-a103-206b0b6b3b47.aspx</comments>
      <category>Components</category>
      <category>Free Stuff</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=87df56be-4be2-4043-8e75-7b025d270c76</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,87df56be-4be2-4043-8e75-7b025d270c76.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,87df56be-4be2-4043-8e75-7b025d270c76.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=87df56be-4be2-4043-8e75-7b025d270c76</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://weblogs.asp.net/mhawley/archive/2006/02/10/437932.aspx">Great
news</a> for ASP.NET developers.  After joining Microsoft, Matt Hawley had to
stop distributing his great ASP.NET server controls.  After 10 long months, he's
finally been given permission to start distributing them again.  My company and
I have used his pop-up calendar control.  I also use <a href="http://www.eworldui.net/UnleashIt/Default.aspx">Unleash
It</a> (unaffected by the blackout) to deploy web applications, and it is fantastic. 
Thank you Matt, and thanks for listening, Microsoft!<br /><p></p><img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=87df56be-4be2-4043-8e75-7b025d270c76" /></body>
      <title>Excentrics World Back in Business!</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,87df56be-4be2-4043-8e75-7b025d270c76.aspx</guid>
      <link>http://blog.christianasp.net/2006/02/10/ExcentricsWorldBackInBusiness.aspx</link>
      <pubDate>Fri, 10 Feb 2006 22:16:07 GMT</pubDate>
      <description>&lt;a href="http://weblogs.asp.net/mhawley/archive/2006/02/10/437932.aspx"&gt;Great news&lt;/a&gt; for
ASP.NET developers.&amp;nbsp; After joining Microsoft, Matt Hawley had to stop distributing
his great ASP.NET server controls.&amp;nbsp; After 10 long months, he's finally been given
permission to start distributing them again.&amp;nbsp; My company and I have used his
pop-up calendar control.&amp;nbsp; I also use &lt;a href="http://www.eworldui.net/UnleashIt/Default.aspx"&gt;Unleash
It&lt;/a&gt; (unaffected by the blackout) to deploy web applications, and it is fantastic.&amp;nbsp;
Thank you Matt, and thanks for listening, Microsoft!&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=87df56be-4be2-4043-8e75-7b025d270c76" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,87df56be-4be2-4043-8e75-7b025d270c76.aspx</comments>
      <category>Components</category>
      <category>Free Stuff</category>
      <category>ASP.NET</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=3848916c-fa46-482d-9705-b669e13500f2</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,3848916c-fa46-482d-9705-b669e13500f2.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,3848916c-fa46-482d-9705-b669e13500f2.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=3848916c-fa46-482d-9705-b669e13500f2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">ComponentArt announced yesterday their
new <a href="http://www.componentart.com/whatsnew.aspx#news31">beta Web.UI 2006</a> suite. 
Included are two new controls: WebChart Lite for ASP.NET and Splitter for ASP.NET. 
I had a chance to install the beta today and play around with the demos.  Once
again, ComponentArt have outdone themselves.<br /><br />
WebChart Lite has all the features and API of its <a href="http://www.componentart.com/charting/webChart_overview.aspx">WebChart
for ASP.NET</a> big brother, but only supports 2-D charts.  Actually, from what
I've seen, WebChart Lite will generate 3-D charts, but they are rendered with ComponentArt
watermark.  I think it is outstanding that ComponentArt chose to provide WebChart
Lite to its Web.UI subscription customers.  I'll also add that the licensing
for the full version is quite reasonable when compared to some of the other charting
components on the market.<br /><br />
The new Splitter control is very impressive.  With it you can create resizable
panels that can be split horizontally and vertically, and can also collapse and expand. 
The Splitter "panes" can have minimum and maximum heights and widths, or can fill
the entire window area.  Layouts can be changed dynamically.  The demos
provided look like an RSS reader or e-mail client.  There aren't any online demos
yet, but if you download the beta you can view the demos locally.  I can think
of quite a few areas in my own applications where I'll be using this new control.<br /><br />
Web.UI 2006 will also include ASP.NET 2.0 versions of their controls with support
for new features such as skins, themes, and the ASP.NET 2.0 navigation architecture. 
Way to go, ComponentArt!<br /><p></p><img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=3848916c-fa46-482d-9705-b669e13500f2" /></body>
      <title>New WebChart Lite and Splitter Control</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,3848916c-fa46-482d-9705-b669e13500f2.aspx</guid>
      <link>http://blog.christianasp.net/2006/01/28/NewWebChartLiteAndSplitterControl.aspx</link>
      <pubDate>Sat, 28 Jan 2006 00:48:49 GMT</pubDate>
      <description>ComponentArt announced yesterday their new &lt;a href="http://www.componentart.com/whatsnew.aspx#news31"&gt;beta
Web.UI 2006&lt;/a&gt; suite.&amp;nbsp; Included are two new controls: WebChart Lite for ASP.NET
and Splitter for ASP.NET.&amp;nbsp; I had a chance to install the beta today and play
around with the demos.&amp;nbsp; Once again, ComponentArt have outdone themselves.&lt;br&gt;
&lt;br&gt;
WebChart Lite has all the features and API of its &lt;a href="http://www.componentart.com/charting/webChart_overview.aspx"&gt;WebChart
for ASP.NET&lt;/a&gt; big brother, but only supports 2-D charts.&amp;nbsp; Actually, from what
I've seen, WebChart Lite will generate 3-D charts, but they are rendered with ComponentArt
watermark.&amp;nbsp; I think it is outstanding that ComponentArt chose to provide WebChart
Lite to its Web.UI subscription customers.&amp;nbsp; I'll also add that the licensing
for the full version is quite reasonable when compared to some of the other charting
components on the market.&lt;br&gt;
&lt;br&gt;
The new Splitter control is very impressive.&amp;nbsp; With it you can create resizable
panels that can be split horizontally and vertically, and can also collapse and expand.&amp;nbsp;
The Splitter "panes" can have minimum and maximum heights and widths, or can fill
the entire window area.&amp;nbsp; Layouts can be changed dynamically.&amp;nbsp; The demos
provided look like an RSS reader or e-mail client.&amp;nbsp; There aren't any online demos
yet, but if you download the beta you can view the demos locally.&amp;nbsp; I can think
of quite a few areas in my own applications where I'll be using this new control.&lt;br&gt;
&lt;br&gt;
Web.UI 2006 will also include ASP.NET 2.0 versions of their controls with support
for new features such as skins, themes, and the ASP.NET 2.0 navigation architecture.&amp;nbsp;
Way to go, ComponentArt!&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=3848916c-fa46-482d-9705-b669e13500f2" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,3848916c-fa46-482d-9705-b669e13500f2.aspx</comments>
      <category>ASP.NET</category>
      <category>ASP.NET 2.0</category>
      <category>Components</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=a488165e-ba13-4e2d-bb82-04975b05b54d</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,a488165e-ba13-4e2d-bb82-04975b05b54d.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,a488165e-ba13-4e2d-bb82-04975b05b54d.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=a488165e-ba13-4e2d-bb82-04975b05b54d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">A minor release, but looks like some <a href="http://weblogs.asp.net/pwilson/archive/2006/01/24/436388.aspx">major
improvements</a>, such as a new SQL Server 2005 provider that takes advantage of some
new features for better performance.<br /><br />
I've plugged Paul Wilson's O/R Mapper before, but I don't think it would hurt to reiterate
that it is a fantastic tool.  I strongly encourage you to take it for a real
test run (read: complete a small but real-world application with it).  Reading
the feature list and taking it for a quick spin just won't do it justice.  If
you've not used an O/R mapper before, it takes a little time to adopt the right mindset. 
However, I think the benefits will become very clear once you see what it is capable
of.  The beauty of WilsonORMapper is in its simplicity.  
<br /><br />
I also recommend you try <a href="http://www.loresoft.com/Applications/Templates/default.aspx">Paul
Welter's CodeSmith templates</a> for WilsonORMapper.  You can point <a href="http://www.codesmithtools.com/">CodeSmith</a> at
your database and generate a complete set of business classes ready to handle just
about everything you need to do.  I have not yet tried the new CodeSmith templates
from <a href="http://www.sapientdevelopment.com/WORMFramework.aspx">Jason Bunting</a>.<br /><br />
Full <a href="http://weblogs.asp.net/pwilson/archive/2006/01/24/436388.aspx">list
of changes</a> can be found on Paul's blog.<br /><p></p><img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=a488165e-ba13-4e2d-bb82-04975b05b54d" /></body>
      <title>WilsonORMapper v4.2.1 Released</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,a488165e-ba13-4e2d-bb82-04975b05b54d.aspx</guid>
      <link>http://blog.christianasp.net/2006/01/25/WilsonORMapperV421Released.aspx</link>
      <pubDate>Wed, 25 Jan 2006 05:23:32 GMT</pubDate>
      <description>A minor release, but looks like some &lt;a href="http://weblogs.asp.net/pwilson/archive/2006/01/24/436388.aspx"&gt;major
improvements&lt;/a&gt;, such as a new SQL Server 2005 provider that takes advantage of some
new features for better performance.&lt;br&gt;
&lt;br&gt;
I've plugged Paul Wilson's O/R Mapper before, but I don't think it would hurt to reiterate
that it is a fantastic tool.&amp;nbsp; I strongly encourage you to take it for a real
test run (read: complete a small but real-world application with it).&amp;nbsp; Reading
the feature list and taking it for a quick spin just won't do it justice.&amp;nbsp; If
you've not used an O/R mapper before, it takes a little time to adopt the right mindset.&amp;nbsp;
However, I think the benefits will become very clear once you see what it is capable
of.&amp;nbsp; The beauty of WilsonORMapper is in its simplicity.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
I also recommend you try &lt;a href="http://www.loresoft.com/Applications/Templates/default.aspx"&gt;Paul
Welter's CodeSmith templates&lt;/a&gt; for WilsonORMapper.&amp;nbsp; You can point &lt;a href="http://www.codesmithtools.com/"&gt;CodeSmith&lt;/a&gt; at
your database and generate a complete set of business classes ready to handle just
about everything you need to do.&amp;nbsp; I have not yet tried the new CodeSmith templates
from &lt;a href="http://www.sapientdevelopment.com/WORMFramework.aspx"&gt;Jason Bunting&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Full &lt;a href="http://weblogs.asp.net/pwilson/archive/2006/01/24/436388.aspx"&gt;list
of changes&lt;/a&gt; can be found on Paul's blog.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=a488165e-ba13-4e2d-bb82-04975b05b54d" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,a488165e-ba13-4e2d-bb82-04975b05b54d.aspx</comments>
      <category>Components</category>
      <category>Wilson O/R Mapper</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=3ef6ce3f-a945-43a4-b1d5-bcf9d9f72a5a</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,3ef6ce3f-a945-43a4-b1d5-bcf9d9f72a5a.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,3ef6ce3f-a945-43a4-b1d5-bcf9d9f72a5a.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=3ef6ce3f-a945-43a4-b1d5-bcf9d9f72a5a</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">While recuperating from massive quantities
of turkey and trimmings, I began work on a <a href="http://www.codesmithtools.com/">CodeSmith</a> custom
schema provider for <a href="http://dev.mysql.com">MySQL 5.0</a>.  
<br /><br />
As <a href="http://www.evitt.net/blog/">Josh</a> frequently says, “Nerd alert! Nerd
alert!”<br /><br />
The journey has been quite a learning experience so far.  Creating a custom schema
provider requires that you create a class that implements the IDbSchemaProvider interface. 
This interface exposes a couple of properties and several methods required to query
definitions for all tables, views, stored procedures, keys, indexes, and so forth. 
Since I’m targeting MySQL 5.0, I’m using the new <a href="http://dev.mysql.com/doc/refman/5.0/en/information-schema-tables.html">INFORMATION_SCHEMA</a> support
wherever possible.  The provider also depends on the latest <a href="http://dev.mysql.com/downloads/connector/net/1.0.html">MySQL
Connector/Net</a>.<br /><br /><a href="http://www.christianasp.net/downloads/MySQLSchemaProvider_090.zip">Download
ChristianASPNet.MySQLSchemaProvider version 0.90</a><br /><br /><strong>Instructions</strong>:<br /><ul><li>
Make sure you have <a href="http://dev.mysql.com/downloads/connector/net/1.0.html">MySQL
Connector/Net</a> 1.0.7 or later installed</li><li>
Make sure CodeSmith is not running</li><li>
Extract and copy the ChristianASPNet.MySQLSchemaProvider.dll assembly to /Program
Files/CodeSmith/v3.0/SchemaProviders (or wherever you have CodeSmith installed)<br /></li></ul>
The next time you run CodeSmith and create or modify a data source, MySQLSchemaProvider
should now show up in the list of available Provider Types.<br /><strong><br />
UPDATE (12/23/05):</strong> Apparently you will need CodeSmith version 3.1.4 or later
to use the assembly in the download.  You may be able to use a previous version
of CodeSmith 3.xx if you compile the source yourself.  Also, be sure to use the
following format for your MySQL provider connection string.<br /><br />
Server=localhost;Port=3306;Database=databaseName;Uid=userName;Pwd=userPassword<br /><br /><strong>UPDATE (12/29/05): </strong>Download the latest <a href="http://blog.christianasp.net/2005/12/30/NewMySQL50SchemaProviderForCodeSmith.aspx">version
0.91.<br /></a><br />
For more nerdy details, read on...<br /><br />
I’ve also included a simple SchemaTest.cst template that I created as I was writing
the custom provider.  It doesn’t do anything special or even demonstrate best
practices.  It’s just an ugly test harness. I include it in case you are interested
in having a quick way to query the objects in your MySQL database.<br /><br />
There are a few methods I have not been able to implement (yet).  GetCommandParameters()
returns parameter definitions for a given stored procedure.  MySQL 5.0 INFORMATION_SCHEMA
does not support the PARAMETERS table at this time.  I tried to use MySQL Connector/Net’s
MySqlCommandBuilder.DeriveParameters() method, which is supposed to work in version
1.0.7, but threw a NULL reference exception in my testing.<br /><br />
GetCommandResultSchemas() returns the schema of the result sets that are output from
a given stored procedure.  However, if the stored procedure requires parameters,
then we’re back to the previous issue.<br /><br />
I also chose not to implement GetExtendedProperties(), since I don’t yet know what
would be relevant to a MySQL developer.  I am a MySQL newbie, after all.<br /><br />
Happy templating!<img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=3ef6ce3f-a945-43a4-b1d5-bcf9d9f72a5a" /></body>
      <title>MySQL Schema Provider for CodeSmith</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,3ef6ce3f-a945-43a4-b1d5-bcf9d9f72a5a.aspx</guid>
      <link>http://blog.christianasp.net/2005/11/28/MySQLSchemaProviderForCodeSmith.aspx</link>
      <pubDate>Mon, 28 Nov 2005 05:50:00 GMT</pubDate>
      <description>While recuperating from massive quantities of turkey and trimmings, I began work on a &lt;a href="http://www.codesmithtools.com/"&gt;CodeSmith&lt;/a&gt; custom
schema provider for &lt;a href="http://dev.mysql.com"&gt;MySQL 5.0&lt;/a&gt;.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
As &lt;a href="http://www.evitt.net/blog/"&gt;Josh&lt;/a&gt; frequently says, “Nerd alert! Nerd
alert!”&lt;br&gt;
&lt;br&gt;
The journey has been quite a learning experience so far.&amp;nbsp; Creating a custom schema
provider requires that you create a class that implements the IDbSchemaProvider interface.&amp;nbsp;
This interface exposes a couple of properties and several methods required to query
definitions for all tables, views, stored procedures, keys, indexes, and so forth.&amp;nbsp;
Since I’m targeting MySQL 5.0, I’m using the new &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/information-schema-tables.html"&gt;INFORMATION_SCHEMA&lt;/a&gt; support
wherever possible.&amp;nbsp; The provider also depends on the latest &lt;a href="http://dev.mysql.com/downloads/connector/net/1.0.html"&gt;MySQL
Connector/Net&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.christianasp.net/downloads/MySQLSchemaProvider_090.zip"&gt;Download
ChristianASPNet.MySQLSchemaProvider version 0.90&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Instructions&lt;/strong&gt;:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
Make sure you have &lt;a href="http://dev.mysql.com/downloads/connector/net/1.0.html"&gt;MySQL
Connector/Net&lt;/a&gt; 1.0.7 or later installed&lt;/li&gt;
&lt;li&gt;
Make sure CodeSmith is not running&lt;/li&gt;
&lt;li&gt;
Extract and copy the ChristianASPNet.MySQLSchemaProvider.dll assembly to /Program
Files/CodeSmith/v3.0/SchemaProviders (or wherever you have CodeSmith installed)&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
The next time you run CodeSmith and create or modify a data source, MySQLSchemaProvider
should now show up in the list of available Provider Types.&lt;br&gt;
&lt;strong&gt;
&lt;br&gt;
UPDATE (12/23/05):&lt;/strong&gt; Apparently you will need CodeSmith version 3.1.4 or later
to use the assembly in the download.&amp;nbsp; You may be able to use a previous version
of CodeSmith 3.xx if you compile the source yourself.&amp;nbsp; Also, be sure to use the
following format for your MySQL provider connection string.&lt;br&gt;
&lt;br&gt;
Server=localhost;Port=3306;Database=databaseName;Uid=userName;Pwd=userPassword&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;UPDATE (12/29/05): &lt;/strong&gt;Download the latest &lt;a href="http://blog.christianasp.net/2005/12/30/NewMySQL50SchemaProviderForCodeSmith.aspx"&gt;version
0.91.&lt;br&gt;
&lt;/a&gt;
&lt;br&gt;
For more nerdy details, read on...&lt;br&gt;
&lt;br&gt;
I’ve also included a simple SchemaTest.cst template that I created as I was writing
the custom provider.&amp;nbsp; It doesn’t do anything special or even demonstrate best
practices.&amp;nbsp; It’s just an ugly test harness. I include it in case you are interested
in having a quick way to query the objects in your MySQL database.&lt;br&gt;
&lt;br&gt;
There are a few methods I have not been able to implement (yet).&amp;nbsp; GetCommandParameters()
returns parameter definitions for a given stored procedure.&amp;nbsp; MySQL 5.0 INFORMATION_SCHEMA
does not support the PARAMETERS table at this time.&amp;nbsp; I tried to use MySQL Connector/Net’s
MySqlCommandBuilder.DeriveParameters() method, which is supposed to work in version
1.0.7, but threw a NULL reference exception in my testing.&lt;br&gt;
&lt;br&gt;
GetCommandResultSchemas() returns the schema of the result sets that are output from
a given stored procedure.&amp;nbsp; However, if the stored procedure requires parameters,
then we’re back to the previous issue.&lt;br&gt;
&lt;br&gt;
I also chose not to implement GetExtendedProperties(), since I don’t yet know what
would be relevant to a MySQL developer.&amp;nbsp; I am a MySQL newbie, after all.&lt;br&gt;
&lt;br&gt;
Happy templating!&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=3ef6ce3f-a945-43a4-b1d5-bcf9d9f72a5a" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,3ef6ce3f-a945-43a4-b1d5-bcf9d9f72a5a.aspx</comments>
      <category>Components</category>
      <category>MySQL</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=52e6c146-198c-4f38-a078-edc90dde679e</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,52e6c146-198c-4f38-a078-edc90dde679e.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,52e6c146-198c-4f38-a078-edc90dde679e.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=52e6c146-198c-4f38-a078-edc90dde679e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">New version 1.0.7 of the MySQL ADO.NET
provider Connector/Net has been released.  From the press release:<br /><br /><div style="margin-left: 40px;"><span style="font-style: italic;">MySQL Connector/Net
1.0.7, a new version of the fully-managed, ADO.Net provider for the MySQL database
system has been released. This release is the latest production release of the 1.0
series and is suitable for use with any MySQL version including MySQL 4.1 or 5.0.</span><br /><a href="http://forums.mysql.com/read.php?38,55764,55764#msg-55764">Continue...</a><br /></div><br />
The new version includes binaries for .NET 2.0, but they are simply compiles of the
existing source code and do not take advantage of any new ADO.NET 2.0 features.<br /><br /><a href="http://dev.mysql.com/downloads/connector/net/1.0.html">Download Connector/Net</a><br /><img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=52e6c146-198c-4f38-a078-edc90dde679e" /></body>
      <title>New Version of MySQL ADO.NET Provider</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,52e6c146-198c-4f38-a078-edc90dde679e.aspx</guid>
      <link>http://blog.christianasp.net/2005/11/21/NewVersionOfMySQLADONETProvider.aspx</link>
      <pubDate>Mon, 21 Nov 2005 19:05:00 GMT</pubDate>
      <description>New version 1.0.7 of the MySQL ADO.NET provider Connector/Net has been released.&amp;nbsp; From the press release:&lt;br&gt;
&lt;br&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span style="font-style: italic;"&gt;MySQL Connector/Net
1.0.7, a new version of the fully-managed, ADO.Net provider for the MySQL database
system has been released. This release is the latest production release of the 1.0
series and is suitable for use with any MySQL version including MySQL 4.1 or 5.0.&lt;/span&gt;
&lt;br&gt;
&lt;a href="http://forums.mysql.com/read.php?38,55764,55764#msg-55764"&gt;Continue...&lt;/a&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
The new version includes binaries for .NET 2.0, but they are simply compiles of the
existing source code and do not take advantage of any new ADO.NET 2.0 features.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://dev.mysql.com/downloads/connector/net/1.0.html"&gt;Download Connector/Net&lt;/a&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=52e6c146-198c-4f38-a078-edc90dde679e" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,52e6c146-198c-4f38-a078-edc90dde679e.aspx</comments>
      <category>Components</category>
      <category>MySQL</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=09aeab53-506c-4665-9ef9-6823599b5c9a</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,09aeab53-506c-4665-9ef9-6823599b5c9a.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,09aeab53-506c-4665-9ef9-6823599b5c9a.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=09aeab53-506c-4665-9ef9-6823599b5c9a</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The guys at <a href="http://www.telligentsystems.com/">Telligent</a> have been making
some very cool news lately, such as hiring the gifted <a href="http://www.coveryourasp.net/">James
Shaw</a>, <a href="http://www.coveryourasp.net/Technical/TheTelligenti">acquiring</a> James' <a href="http://www.dozingdogs.com/">Dozing
Dogs</a> CMS to be leveraged in CS at some point, and <a href="http://scottwater.com/blog/archive/2005/10/13/cs_with_ink.aspx">supporting
Ink</a>.  As you may already know, I'm quite fond of ComponentArt's Web.UI suite,
and was honored last December to be recognized as a ComponentArt MVP.  So, it's
no surprise that I'm thrilled to hear that <a href="http://weblogs.asp.net/rhoward/archive/2005/10/14/427557.aspx">ComponentArt
has partnered with Telligent</a> to provide their Web.UI components to be used within
Community Server.  This will certainly be a home run for both sides.  Congratulations!
</p>
        <img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=09aeab53-506c-4665-9ef9-6823599b5c9a" />
      </body>
      <title>Community Server and ComponentArt</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,09aeab53-506c-4665-9ef9-6823599b5c9a.aspx</guid>
      <link>http://blog.christianasp.net/2005/10/15/CommunityServerAndComponentArt.aspx</link>
      <pubDate>Sat, 15 Oct 2005 04:50:00 GMT</pubDate>
      <description>&lt;p&gt;
The guys at &lt;a href="http://www.telligentsystems.com/"&gt;Telligent&lt;/a&gt; have been making
some very cool news lately, such as hiring the&amp;nbsp;gifted &lt;a href="http://www.coveryourasp.net/"&gt;James
Shaw&lt;/a&gt;, &lt;a href="http://www.coveryourasp.net/Technical/TheTelligenti"&gt;acquiring&lt;/a&gt; James' &lt;a href="http://www.dozingdogs.com/"&gt;Dozing
Dogs&lt;/a&gt; CMS to be&amp;nbsp;leveraged in CS&amp;nbsp;at some point, and &lt;a href="http://scottwater.com/blog/archive/2005/10/13/cs_with_ink.aspx"&gt;supporting
Ink&lt;/a&gt;.&amp;nbsp; As you may already know, I'm quite fond of ComponentArt's Web.UI suite,
and was honored last December to be recognized as a ComponentArt MVP.&amp;nbsp; So, it's
no surprise that I'm thrilled to hear that &lt;a href="http://weblogs.asp.net/rhoward/archive/2005/10/14/427557.aspx"&gt;ComponentArt
has partnered with Telligent&lt;/a&gt; to provide their Web.UI components to be used within
Community Server.&amp;nbsp; This will certainly be a home run for both sides.&amp;nbsp; Congratulations!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=09aeab53-506c-4665-9ef9-6823599b5c9a" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,09aeab53-506c-4665-9ef9-6823599b5c9a.aspx</comments>
      <category>Components</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=490208fc-64f3-406d-add0-2863446bf9b8</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,490208fc-64f3-406d-add0-2863446bf9b8.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,490208fc-64f3-406d-add0-2863446bf9b8.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=490208fc-64f3-406d-add0-2863446bf9b8</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">To use FCKeditor in an ASP.NET project,
you also need the FCKeditor.Net integration component.  Both the editor and the
.NET component can be downloaded from the <a href="http://sourceforge.net/project/showfiles.php?group_id=75348&amp;release_id=361840">FCKeditor
sourceforge project</a>.  Next, follow the instructions found on the <a href="http://wiki.fckeditor.net/Developer%27s_Guide/Integration/ASP.Net">Developer's
Guide for ASP.NET Integration</a> to get the editor working in your .NET project.<img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=490208fc-64f3-406d-add0-2863446bf9b8" /></body>
      <title>FCKeditor and ASP.NET</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,490208fc-64f3-406d-add0-2863446bf9b8.aspx</guid>
      <link>http://blog.christianasp.net/2005/10/07/FCKeditorAndASPNET.aspx</link>
      <pubDate>Fri, 07 Oct 2005 19:21:00 GMT</pubDate>
      <description>To use FCKeditor in an ASP.NET project, you also need the FCKeditor.Net integration component.&amp;nbsp; Both the editor and the .NET component can be downloaded from the &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=75348&amp;amp;release_id=361840"&gt;FCKeditor
sourceforge project&lt;/a&gt;.&amp;nbsp; Next, follow the instructions found on the &lt;a href="http://wiki.fckeditor.net/Developer%27s_Guide/Integration/ASP.Net"&gt;Developer's
Guide for ASP.NET Integration&lt;/a&gt; to get the editor working in your .NET project.&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=490208fc-64f3-406d-add0-2863446bf9b8" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,490208fc-64f3-406d-add0-2863446bf9b8.aspx</comments>
      <category>ASP.NET</category>
      <category>Components</category>
      <category>Free Stuff</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=34c97e21-b01a-4326-b05b-c2c116e29216</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,34c97e21-b01a-4326-b05b-c2c116e29216.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,34c97e21-b01a-4326-b05b-c2c116e29216.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=34c97e21-b01a-4326-b05b-c2c116e29216</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr">
From the FCKeditor web site:
</p>
        <blockquote dir="ltr" style="margin-right: 0px;">
          <p>
"This new version is another important step to the project. The development now is
concentrated on <strong>bug fixing</strong> and <strong>stability</strong>, so this
update is highly recommended. There are also some interesting new features, like the
“<strong>Protected Source</strong>”, that makes it possible to use server side code
in the editor and the new keyboard handling for Firefox. "
</p>
        </blockquote>
        <p>
          <a href="http://www.fckeditor.com/whatsnew/default.html">http://www.fckeditor.com/whatsnew/default.html</a>
        </p>
        <img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=34c97e21-b01a-4326-b05b-c2c116e29216" />
      </body>
      <title>FCKeditor 2.1 Released (HTML WYSIWYG editor)</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,34c97e21-b01a-4326-b05b-c2c116e29216.aspx</guid>
      <link>http://blog.christianasp.net/2005/10/07/FCKeditor21ReleasedHTMLWYSIWYGEditor.aspx</link>
      <pubDate>Fri, 07 Oct 2005 12:49:00 GMT</pubDate>
      <description>&lt;p dir="ltr"&gt;
From the FCKeditor web site:
&lt;/p&gt;
&lt;blockquote dir="ltr" style="margin-right: 0px;"&gt; 
&lt;p&gt;
"This new version is another important step to the project. The development now is
concentrated on &lt;strong&gt;bug fixing&lt;/strong&gt; and &lt;strong&gt;stability&lt;/strong&gt;, so this
update is highly recommended. There are also some interesting new features, like the
“&lt;strong&gt;Protected Source&lt;/strong&gt;”, that makes it possible to use server side code
in the editor and the new keyboard handling for Firefox. "
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;a href="http://www.fckeditor.com/whatsnew/default.html"&gt;http://www.fckeditor.com/whatsnew/default.html&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=34c97e21-b01a-4326-b05b-c2c116e29216" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,34c97e21-b01a-4326-b05b-c2c116e29216.aspx</comments>
      <category>Components</category>
      <category>Free Stuff</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=4fb4f9a8-69d2-4ae5-9023-3f295d7644e9</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,4fb4f9a8-69d2-4ae5-9023-3f295d7644e9.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,4fb4f9a8-69d2-4ae5-9023-3f295d7644e9.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=4fb4f9a8-69d2-4ae5-9023-3f295d7644e9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
What a shame.  Matt Hawley, now a Microsoft employee, is being <a href="http://weblogs.asp.net/mhawley/archive/2005/08/12/422333.aspx">barred
by the MS legal department</a> from distributing his free library of ASP.NET components. 
I've used these components in the past, and have found them to be fantastic tools. 
Help support all the work that Matt has put into the ASP.NET community by <a href="http://www.eworldui.net/SupportTheControls.aspx">signing
the petition</a>.
</p>
        <p>
          <strong>UPDATE</strong>: It appears that developer community's reaction
is <a href="http://weblogs.asp.net/mhawley/archive/2005/08/14/422545.aspx">making
a difference</a>!
</p>
        <img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=4fb4f9a8-69d2-4ae5-9023-3f295d7644e9" />
      </body>
      <title>Excentrics World in Danger</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,4fb4f9a8-69d2-4ae5-9023-3f295d7644e9.aspx</guid>
      <link>http://blog.christianasp.net/2005/08/12/ExcentricsWorldInDanger.aspx</link>
      <pubDate>Fri, 12 Aug 2005 10:48:00 GMT</pubDate>
      <description>&lt;p&gt;
What a shame.&amp;nbsp; Matt Hawley, now a Microsoft employee, is being &lt;a href="http://weblogs.asp.net/mhawley/archive/2005/08/12/422333.aspx"&gt;barred
by the MS legal department&lt;/a&gt; from distributing his free library of ASP.NET components.&amp;nbsp;
I've used these components in the past, and have found them to be fantastic tools.&amp;nbsp;
Help support all the work that Matt has put into the ASP.NET community by &lt;a href="http://www.eworldui.net/SupportTheControls.aspx"&gt;signing
the petition&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;UPDATE&lt;/strong&gt;: It appears that&amp;nbsp;developer community's&amp;nbsp;reaction
is &lt;a href="http://weblogs.asp.net/mhawley/archive/2005/08/14/422545.aspx"&gt;making
a difference&lt;/a&gt;!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=4fb4f9a8-69d2-4ae5-9023-3f295d7644e9" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,4fb4f9a8-69d2-4ae5-9023-3f295d7644e9.aspx</comments>
      <category>ASP.NET</category>
      <category>Components</category>
      <category>Free Stuff</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=3811c9a9-cce4-4d1a-ab64-28e610313d61</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,3811c9a9-cce4-4d1a-ab64-28e610313d61.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,3811c9a9-cce4-4d1a-ab64-28e610313d61.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=3811c9a9-cce4-4d1a-ab64-28e610313d61</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've been working on a sample tonight for one of my hosting customers showing how
to create a "Contact Us" page in ASP.NET using System.Web.Mail.  Searching for
examples of proper syntax, I came across <a href="http://www.systemwebmail.com/default.aspx">System.Web.Mail,
OH MY!</a>  This is an exhaustive FAQ on using the built-in Mail framework library,
including answers to common questions and problems, as well as advanced tips
for adding functionality (such as SMTP authentication) that you may have
thought not possible.
</p>
        <p>
What I found especially interesting is that the site was created by <a href="http://www.123aspx.com/AboutUs.aspx">Dave
Wanta</a> of <a href="http://www.123aspx.com/">123Aspx</a> fame, who also happens
to sell a *<strong>very</strong>* good e-mail component for .NET named <a href="http://www.aspnetemail.com/default.aspx">aspNetEmail</a>. 
He does include a <a href="http://www.systemwebmail.com/faq/7.1.1.aspx">shameless
plug</a> for his product buried in the FAQ.  After all, System.Web.Mail <a href="http://www.systemwebmail.com/faq/3.6.aspx">doesn't
do</a><a href="http://www.systemwebmail.com/faq/3.7.aspx">everything</a>.  But,
to Dave's credit, he also lists a couple of other third-party tools and the entire
site seems to be the best resource on the Web for using System.Web.Mail.  Kudos
to Dave!
</p>
        <img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=3811c9a9-cce4-4d1a-ab64-28e610313d61" />
      </body>
      <title>System.Web.Mail FAQ</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,3811c9a9-cce4-4d1a-ab64-28e610313d61.aspx</guid>
      <link>http://blog.christianasp.net/2005/08/04/SystemWebMailFAQ.aspx</link>
      <pubDate>Thu, 04 Aug 2005 04:39:00 GMT</pubDate>
      <description>&lt;p&gt;
I've been working on a sample tonight for one of my hosting customers showing how
to create a "Contact Us" page in ASP.NET using System.Web.Mail.&amp;nbsp; Searching for
examples of proper syntax, I came across &lt;a href="http://www.systemwebmail.com/default.aspx"&gt;System.Web.Mail,
OH MY!&lt;/a&gt;&amp;nbsp; This is an exhaustive FAQ on using the built-in Mail framework library,
including answers to common questions and&amp;nbsp;problems, as well as advanced tips
for adding functionality&amp;nbsp;(such as SMTP authentication) that&amp;nbsp;you may have
thought&amp;nbsp;not possible.
&lt;/p&gt;
&lt;p&gt;
What I found especially interesting is that the site was created by &lt;a href="http://www.123aspx.com/AboutUs.aspx"&gt;Dave
Wanta&lt;/a&gt; of &lt;a href="http://www.123aspx.com/"&gt;123Aspx&lt;/a&gt; fame, who also happens
to sell a *&lt;strong&gt;very&lt;/strong&gt;* good e-mail component for .NET named &lt;a href="http://www.aspnetemail.com/default.aspx"&gt;aspNetEmail&lt;/a&gt;.&amp;nbsp;
He does include a &lt;a href="http://www.systemwebmail.com/faq/7.1.1.aspx"&gt;shameless
plug&lt;/a&gt; for his product buried in the FAQ.&amp;nbsp; After all, System.Web.Mail&amp;nbsp;&lt;a href="http://www.systemwebmail.com/faq/3.6.aspx"&gt;doesn't
do&lt;/a&gt; &lt;a href="http://www.systemwebmail.com/faq/3.7.aspx"&gt;everything&lt;/a&gt;.&amp;nbsp;&amp;nbsp;But,
to&amp;nbsp;Dave's credit, he also lists a couple of other third-party tools and the entire
site seems to be the best resource on the Web for using System.Web.Mail.&amp;nbsp; Kudos
to Dave!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=3811c9a9-cce4-4d1a-ab64-28e610313d61" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,3811c9a9-cce4-4d1a-ab64-28e610313d61.aspx</comments>
      <category>Components</category>
    </item>
    <item>
      <trackback:ping>http://blog.christianasp.net/Trackback.aspx?guid=8fa8a58f-c1ea-49f8-b43b-64e84b391439</trackback:ping>
      <pingback:server>http://blog.christianasp.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.christianasp.net/PermaLink,guid,8fa8a58f-c1ea-49f8-b43b-64e84b391439.aspx</pingback:target>
      <dc:creator>David Neal</dc:creator>
      <wfw:comment>http://blog.christianasp.net/CommentView,guid,8fa8a58f-c1ea-49f8-b43b-64e84b391439.aspx</wfw:comment>
      <wfw:commentRss>http://blog.christianasp.net/SyndicationService.asmx/GetEntryCommentsRss?guid=8fa8a58f-c1ea-49f8-b43b-64e84b391439</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
"The future's so bright, I gotta wear shades." -Timbuk 3
</p>
        <p>
          <a href="http://www.componentart.com">ComponentArt</a> continues to just blow me away. 
Last week they announced version 3.0 beta release of their Web.UI suite.  The
new components added to the suite include Grid, Calendar and Callback (AJAX -
Asynchronous JavaScript and XML) controls.  You can demo the new controls at <a href="http://webui30.componentart.com/">webui30.componentart.com</a>. 
July 20, they announced the beta of their new Charting components for both WinForms
(<a href="http://www.componentart.com/charting/winChart_overview.aspx">WinChart</a>)
and ASP.NET WebForms (<a href="http://www.componentart.com/charting/webChart_overview.aspx">WebChart</a>). 
I got two words for ya: Amaaaaa-zing.
</p>
        <p>
The new Grid control renders a very rich interface, allowing the end-users to page,
sort, group, filter, search, resize columns, and use the keyboard.  The grid
can operate in server, client and callback modes.  When using callback mode for
a large set of data, your users can retrieve a page of data at a time without the
page having to refresh, yet still have complete control over sorting, grouping, filtering,
and so on.
</p>
        <p>
Callback for ASP.NET claims to deliver AJAX-style functionality to any server-side
control, giving the developer a clean and elegant way of providing user interfaces
that can dynamically change without ever refreshing or "posting back" the current
page.
</p>
        <p>
The <a href="http://www.componentart.com/charting/gallery.aspx?control=WebChart">demos</a> for
the new Charting components are spectacular.  Also, check out all the <a href="http://www.componentart.com/charting/features.aspx?control=WebChart">features</a> provided. 
Although the charting components will be sold separately from the Web.UI suite, there's
still good news for Web.UI subscribers.  According to <a href="http://www.componentart.com/forums/ShowPost.aspx?PostID=6984">this
post</a> in their product forums, a "WebChart Lite" control will eventually be provided
to Web.UI subscribers at no additional cost.
</p>
        <img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=8fa8a58f-c1ea-49f8-b43b-64e84b391439" />
      </body>
      <title>ComponentArt WebUI 3.0 and Charting Betas</title>
      <guid isPermaLink="false">http://blog.christianasp.net/PermaLink,guid,8fa8a58f-c1ea-49f8-b43b-64e84b391439.aspx</guid>
      <link>http://blog.christianasp.net/2005/08/01/ComponentArtWebUI30AndChartingBetas.aspx</link>
      <pubDate>Mon, 01 Aug 2005 13:28:00 GMT</pubDate>
      <description>&lt;p&gt;
"The future's so bright, I gotta wear shades."&amp;nbsp;-Timbuk 3
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.componentart.com"&gt;ComponentArt&lt;/a&gt; continues to just blow me away.&amp;nbsp;
Last week they announced version 3.0 beta release of their Web.UI suite.&amp;nbsp; The
new&amp;nbsp;components added to the suite include Grid, Calendar and Callback (AJAX -
Asynchronous JavaScript and XML) controls.&amp;nbsp; You can demo the new controls at &lt;a href="http://webui30.componentart.com/"&gt;webui30.componentart.com&lt;/a&gt;.&amp;nbsp;
July 20, they announced the beta of their new Charting components for both WinForms
(&lt;a href="http://www.componentart.com/charting/winChart_overview.aspx"&gt;WinChart&lt;/a&gt;)
and ASP.NET WebForms (&lt;a href="http://www.componentart.com/charting/webChart_overview.aspx"&gt;WebChart&lt;/a&gt;).&amp;nbsp;
I got two words for ya: Amaaaaa-zing.
&lt;/p&gt;
&lt;p&gt;
The new Grid control renders a very rich interface, allowing the end-users to page,
sort, group, filter, search, resize columns, and use the keyboard.&amp;nbsp; The grid
can operate in server, client and callback modes.&amp;nbsp; When using callback mode for
a large set of data, your users can retrieve a page of data at a time without the
page having to refresh, yet still have complete control over sorting, grouping, filtering,
and so on.
&lt;/p&gt;
&lt;p&gt;
Callback for ASP.NET claims to deliver AJAX-style functionality to any server-side
control, giving the developer a clean and elegant way of providing user interfaces
that can dynamically change without ever refreshing or "posting back" the current
page.
&lt;/p&gt;
&lt;p&gt;
The &lt;a href="http://www.componentart.com/charting/gallery.aspx?control=WebChart"&gt;demos&lt;/a&gt; for
the new Charting components are spectacular.&amp;nbsp; Also, check out all the &lt;a href="http://www.componentart.com/charting/features.aspx?control=WebChart"&gt;features&lt;/a&gt; provided.&amp;nbsp;
Although the charting components will be sold separately from the Web.UI suite, there's
still good news for Web.UI subscribers.&amp;nbsp; According to &lt;a href="http://www.componentart.com/forums/ShowPost.aspx?PostID=6984"&gt;this
post&lt;/a&gt; in their product forums, a "WebChart Lite" control will eventually be provided
to Web.UI subscribers at no additional cost.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.christianasp.net/aggbug.ashx?id=8fa8a58f-c1ea-49f8-b43b-64e84b391439" /&gt;</description>
      <comments>http://blog.christianasp.net/CommentView,guid,8fa8a58f-c1ea-49f8-b43b-64e84b391439.aspx</comments>
      <category>ASP.NET</category>
      <category>Components</category>
    </item>
  </channel>
</rss>