<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>ctype(yourBrain, myBrain)</title>
    <link>http://hal.lco.net/</link>
    <description>... DirectCast threw an exception.</description>
    <language>en-us</language>
    <copyright>Hal Lesesne</copyright>
    <lastBuildDate>Wed, 07 Jan 2009 06:16:35 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.2</generator>
    <managingEditor>hlesesne@gmail.com</managingEditor>
    <webMaster>hlesesne@gmail.com</webMaster>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/widescreen" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=5b8ffe58-d83a-4e6b-a808-469315d652a3</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,5b8ffe58-d83a-4e6b-a808-469315d652a3.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,5b8ffe58-d83a-4e6b-a808-469315d652a3.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=5b8ffe58-d83a-4e6b-a808-469315d652a3</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I struggled today with inserting line feeds into a transformed XSLT document. Here
      is how I finally did it.
   </p>
        <p>
      First, the &lt;xsl:text&gt;&lt;/xsl:text&gt; tag processes whitespace and can be used
      directly, for example:
   </p>
        <p>
      &lt;xsl:value-of select="./whatever" /&gt;&lt;xsl:text&gt;<br />
      &lt;/xsl:text&gt;
   </p>
        <p>
      The above will produce a linefeed. 
   </p>
        <p>
      However, I found that this made my code difficult to read. Instead, I declared a variable
      and set it equal to the text string:
   </p>
        <p>
      &lt;xsl:variable name="linefeed"&gt;<br />
      &lt;xsl:text&gt;<br />
      &lt;/xsl:text&gt;<br />
      &lt;/xsl:variable&gt;
   </p>
        <p>
      and the used the value-of the variable on a single line to produce the line feed:
   </p>
        <p>
      &lt;xsl:value-of select="./whatever" /&gt;&lt;xsl:value-of select="$linefeed" /&gt;
   </p>
        <p>
      I think much more readable.
   </p>
        <p>
      Any other suggestions would be greatly appreciated.
   </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=5b8ffe58-d83a-4e6b-a808-469315d652a3" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/GK84xsMe47E" height="1" width="1" /></body>
      <title>Line feeds in XSLT</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,5b8ffe58-d83a-4e6b-a808-469315d652a3.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/GK84xsMe47E/PermaLink,guid,5b8ffe58-d83a-4e6b-a808-469315d652a3.aspx</link>
      <pubDate>Wed, 07 Jan 2009 06:16:35 GMT</pubDate>
      <description>&lt;p&gt;
   I struggled today with inserting line feeds into a transformed XSLT document. Here
   is how I finally did it.
&lt;/p&gt;
&lt;p&gt;
   First, the &amp;lt;xsl:text&amp;gt;&amp;lt;/xsl:text&amp;gt; tag processes whitespace and can be used
   directly, for example:
&lt;/p&gt;
&lt;p&gt;
   &amp;lt;xsl:value-of select="./whatever" /&amp;gt;&amp;lt;xsl:text&amp;gt;&lt;br&gt;
   &amp;lt;/xsl:text&amp;gt;
&lt;/p&gt;
&lt;p&gt;
   The above will produce a linefeed. 
&lt;/p&gt;
&lt;p&gt;
   However, I found that this made my code difficult to read. Instead, I declared a variable
   and set it equal to the text string:
&lt;/p&gt;
&lt;p&gt;
   &amp;lt;xsl:variable name="linefeed"&amp;gt;&lt;br&gt;
   &amp;lt;xsl:text&amp;gt;&lt;br&gt;
   &amp;lt;/xsl:text&amp;gt;&lt;br&gt;
   &amp;lt;/xsl:variable&amp;gt;
&lt;/p&gt;
&lt;p&gt;
   and the used the value-of the variable on a single line to produce the line feed:
&lt;/p&gt;
&lt;p&gt;
   &amp;lt;xsl:value-of select="./whatever" /&amp;gt;&amp;lt;xsl:value-of select="$linefeed" /&amp;gt;
&lt;/p&gt;
&lt;p&gt;
   I think much more readable.
&lt;/p&gt;
&lt;p&gt;
   Any other suggestions would be greatly appreciated.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=5b8ffe58-d83a-4e6b-a808-469315d652a3" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,5b8ffe58-d83a-4e6b-a808-469315d652a3.aspx</comments>
      <category>Bookmarks;Ideas;Programming;Snippit;XML</category>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,5b8ffe58-d83a-4e6b-a808-469315d652a3.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=bbb8f97e-8597-402e-bf84-4e23c6736b00</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,bbb8f97e-8597-402e-bf84-4e23c6736b00.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,bbb8f97e-8597-402e-bf84-4e23c6736b00.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=bbb8f97e-8597-402e-bf84-4e23c6736b00</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Received this error after an automatic windows update and reboot while I was working
      on a project in VS 2008.
   </p>
        <blockquote>
          <p>
            <em>The components required to enumerate web references are not installed on this
      computer. Please re-install Visual Studio</em>
          </p>
        </blockquote>
        <p>
      After the box rebooted, I couldn't connect to the web service for my project and couldn't
      refresh the references to my web service from within Visual Studio.
   </p>
        <p>
      I tried running
   </p>
        <p>
      c:\&gt; devenv /resetsettings
   </p>
        <p>
      but nothing. My environment reset, but same - or at least similar problems.
   </p>
        <p>
      I looked through some of the other settings and found this:
   </p>
        <p>
      c:\&gt; devenv /resetskippkgs
   </p>
        <p>
      Worked like a charm, but did have to update my web references, rebuild, etc... But
      it looks like I am back on track.
   </p>
        <p>
      H
   </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=bbb8f97e-8597-402e-bf84-4e23c6736b00" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/PDSEXaAaBDU" height="1" width="1" /></body>
      <title>The components required to enumerate web references are not installed on this computer. Please re-install Visual studio</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,bbb8f97e-8597-402e-bf84-4e23c6736b00.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/PDSEXaAaBDU/PermaLink,guid,bbb8f97e-8597-402e-bf84-4e23c6736b00.aspx</link>
      <pubDate>Thu, 18 Dec 2008 09:02:08 GMT</pubDate>
      <description>&lt;p&gt;
   Received this error after an automatic windows update and reboot while I was working
   on a project in VS 2008.
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
   &lt;em&gt;The components required to enumerate web references are not installed on this
   computer. Please re-install Visual Studio&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
   After the box rebooted, I couldn't connect to the web service for my project and couldn't
   refresh the references to my web service from within Visual Studio.
&lt;/p&gt;
&lt;p&gt;
   I tried running
&lt;/p&gt;
&lt;p&gt;
   c:\&amp;gt; devenv /resetsettings
&lt;/p&gt;
&lt;p&gt;
   but nothing. My environment reset, but same - or at least similar problems.
&lt;/p&gt;
&lt;p&gt;
   I looked through some of the other settings and found this:
&lt;/p&gt;
&lt;p&gt;
   c:\&amp;gt; devenv /resetskippkgs
&lt;/p&gt;
&lt;p&gt;
   Worked like a charm, but did have to update my web references, rebuild, etc... But
   it looks like I am back on track.
&lt;/p&gt;
&lt;p&gt;
   H
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=bbb8f97e-8597-402e-bf84-4e23c6736b00" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,bbb8f97e-8597-402e-bf84-4e23c6736b00.aspx</comments>
      <category>Bookmarks;C#;General;Microsoft;Programming;Snippit</category>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,bbb8f97e-8597-402e-bf84-4e23c6736b00.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      It seems that it is not possible to run the 64-bit version of the 2.0 extensions along
      side the 1.1 extensions for web applications. However, it is possible to run both
      in WOW64. There is a slight performance hit due to the additional layer provided by
      WOW64, but I haven't noticed it in my environment and only speculate that it might
      show up under extreme load.
   </p>
        <p>
      Here is how to switch (from <a title="http://support.microsoft.com/kb/894435" href="http://support.microsoft.com/kb/894435">http://support.microsoft.com/kb/894435</a>)
      between versions.
   </p>
        <blockquote>
          <h5>ASP.NET 1.1, 32-bit version
   </h5>
   To run the 32-bit version of ASP.NET 1.1, follow these steps: 
   <ol><li>
         Click <strong>Start</strong>, click <strong>Run</strong>, type cmd, and then click <strong>OK</strong>. 
      </li><li>
         Type the following command to enable the 32-bit mode: 
         <p>
            cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64
            1
         </p></li><li>
         Type the following command to install the version of ASP.NET 1.1 and to install the
         script maps at the IIS root and under: 
         <p>
            %SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i 
         </p></li><li>
         Make sure that the status of ASP.NET version 1.1.4322 is set to <b>Allowed</b> in
         the Web service extension list in Internet Information Services Manager.</li></ol><h5>ASP.NET 2.0, 32-bit version
   </h5>
   To run the 32-bit version of ASP.NET 2.0, follow these steps: 
   <ol><li>
         Click <strong>Start</strong>, click <strong>Run</strong>, type cmd, and then click <strong>OK</strong>. 
      </li><li>
         Type the following command to enable the 32-bit mode: 
         <p>
            cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64
            1
         </p></li><li>
         Type the following command to install the version of ASP.NET 2.0 (32-bit) and to install
         the script maps at the IIS root and under: 
         <p>
            %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 
         </p></li><li>
         Make sure that the status of ASP.NET version 2.0.50727 (32-bit) is set to <b>Allowed</b> in
         the Web service extension list in Internet Information Services Manager.</li></ol><h5>ASP.NET 2.0, 64-bit version
   </h5>
   To run the 64-bit version of ASP.NET 2.0, follow these steps: 
   <ol><li>
         Click <strong>Start</strong>, click <strong>Run</strong>, type cmd, and then click <strong>OK</strong>. 
      </li><li>
         Type the following command to disable the 32-bit mode: 
         <p>
            cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64
            0
         </p></li><li>
         Type the following command to install the version of ASP.NET 2.0 and to install the
         script maps at the IIS root and under: 
         <p>
            %SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i 
         </p></li><li>
         Make sure that the status of ASP.NET version 2.0.50727 is set to <b>Allowed</b> in
         the Web service extension list in Internet Information Services Manager.</li></ol><b>Note</b> The build version of ASP.NET 2.0 may differ depending on what the currently
   released build version is. These steps are for build version 2.0.50727.</blockquote>
        <p>
          <em>(It is important to note the need to re-enable the extensions in the Web service
      extension list in IIS, after running the aspnet_regiis.exe commands. They are disabled
      after each install and will produce a "Service Unavailable" error on the application
      if not.)</em>
        </p>
        <p>
      Another issue that you will run into when installing the 1.1 extensions on 2K3 64-bit
      is the loss of the ASP.NET tab in IIS. While not a terrible problem, as you can switch
      the framework version for a web application from the command line, using the following
      command: 
   </p>
        <p>
      aspnet_regiis.exe –s /w3svc/&lt;identifier&gt;/root
   </p>
        <p>
      Resources:
   </p>
        <p>
          <a title="http://support.microsoft.com/kb/894435" href="http://support.microsoft.com/kb/894435">http://support.microsoft.com/kb/894435</a>
        </p>
        <p>
          <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;894435">http://support.microsoft.com/default.aspx?scid=kb;en-us;894435</a>
        </p>
        <p>
          <a title="http://office.microsoft.com/en-us/winsharepointadmin/HA100598511033.aspx" href="http://office.microsoft.com/en-us/winsharepointadmin/HA100598511033.aspx">http://office.microsoft.com/en-us/winsharepointadmin/HA100598511033.aspx</a>
        </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/P1oyubxIqBM" height="1" width="1" /></body>
      <title>.NET 1.1 and 2.0 on same Windows 2003 64-bit server</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/P1oyubxIqBM/PermaLink,guid,dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7.aspx</link>
      <pubDate>Wed, 17 Dec 2008 15:54:03 GMT</pubDate>
      <description>&lt;p&gt;
   It seems that it is not possible to run the 64-bit version of the 2.0 extensions along
   side the 1.1 extensions for web applications. However, it is possible to run both
   in WOW64. There is a slight performance hit due to the additional layer provided by
   WOW64, but I haven't noticed it in my environment and only speculate that it might
   show up under extreme load.
&lt;/p&gt;
&lt;p&gt;
   Here is how to switch (from &lt;a title="http://support.microsoft.com/kb/894435" href="http://support.microsoft.com/kb/894435"&gt;http://support.microsoft.com/kb/894435&lt;/a&gt;)
   between versions.
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;h5&gt;ASP.NET 1.1, 32-bit version
&lt;/h5&gt;
To run the 32-bit version of ASP.NET 1.1, follow these steps: 
&lt;ol&gt;
   &lt;li&gt;
      Click &lt;strong&gt;Start&lt;/strong&gt;, click &lt;strong&gt;Run&lt;/strong&gt;, type cmd, and then click &lt;strong&gt;OK&lt;/strong&gt;. 
   &lt;li&gt;
      Type the following command to enable the 32-bit mode: 
      &lt;p&gt;
         cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64
         1
      &lt;/p&gt;
   &lt;li&gt;
      Type the following command to install the version of ASP.NET 1.1 and to install the
      script maps at the IIS root and under: 
      &lt;p&gt;
         %SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i 
      &lt;/p&gt;
   &lt;li&gt;
      Make sure that the status of ASP.NET version 1.1.4322 is set to &lt;b&gt;Allowed&lt;/b&gt; in
      the Web service extension list in Internet Information Services Manager.&lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;ASP.NET 2.0, 32-bit version
&lt;/h5&gt;
To run the 32-bit version of ASP.NET 2.0, follow these steps: 
&lt;ol&gt;
   &lt;li&gt;
      Click &lt;strong&gt;Start&lt;/strong&gt;, click &lt;strong&gt;Run&lt;/strong&gt;, type cmd, and then click &lt;strong&gt;OK&lt;/strong&gt;. 
   &lt;li&gt;
      Type the following command to enable the 32-bit mode: 
      &lt;p&gt;
         cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64
         1
      &lt;/p&gt;
   &lt;li&gt;
      Type the following command to install the version of ASP.NET 2.0 (32-bit) and to install
      the script maps at the IIS root and under: 
      &lt;p&gt;
         %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 
      &lt;/p&gt;
   &lt;li&gt;
      Make sure that the status of ASP.NET version 2.0.50727 (32-bit) is set to &lt;b&gt;Allowed&lt;/b&gt; in
      the Web service extension list in Internet Information Services Manager.&lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;ASP.NET 2.0, 64-bit version
&lt;/h5&gt;
To run the 64-bit version of ASP.NET 2.0, follow these steps: 
&lt;ol&gt;
   &lt;li&gt;
      Click &lt;strong&gt;Start&lt;/strong&gt;, click &lt;strong&gt;Run&lt;/strong&gt;, type cmd, and then click &lt;strong&gt;OK&lt;/strong&gt;. 
   &lt;li&gt;
      Type the following command to disable the 32-bit mode: 
      &lt;p&gt;
         cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64
         0
      &lt;/p&gt;
   &lt;li&gt;
      Type the following command to install the version of ASP.NET 2.0 and to install the
      script maps at the IIS root and under: 
      &lt;p&gt;
         %SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i 
      &lt;/p&gt;
   &lt;li&gt;
      Make sure that the status of ASP.NET version 2.0.50727 is set to &lt;b&gt;Allowed&lt;/b&gt; in
      the Web service extension list in Internet Information Services Manager.&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;Note&lt;/b&gt; The build version of ASP.NET 2.0 may differ depending on what the currently
released build version is. These steps are for build version 2.0.50727.&lt;/blockquote&gt; 
&lt;p&gt;
   &lt;em&gt;(It is important to note the need to re-enable the extensions in the Web service
   extension list in IIS, after running the aspnet_regiis.exe commands. They are disabled
   after each install and will produce a "Service Unavailable" error on the application
   if not.)&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   Another issue that you will run into when installing the 1.1 extensions on 2K3 64-bit
   is the loss of the ASP.NET tab in IIS. While not a terrible problem, as you can switch
   the framework version for a web application from the command line, using the following
   command: 
&lt;/p&gt;
&lt;p&gt;
   aspnet_regiis.exe –s /w3svc/&amp;lt;identifier&amp;gt;/root
&lt;/p&gt;
&lt;p&gt;
   Resources:
&lt;/p&gt;
&lt;p&gt;
   &lt;a title="http://support.microsoft.com/kb/894435" href="http://support.microsoft.com/kb/894435"&gt;http://support.microsoft.com/kb/894435&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;894435"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;894435&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a title="http://office.microsoft.com/en-us/winsharepointadmin/HA100598511033.aspx" href="http://office.microsoft.com/en-us/winsharepointadmin/HA100598511033.aspx"&gt;http://office.microsoft.com/en-us/winsharepointadmin/HA100598511033.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7.aspx</comments>
      <category>Bookmarks;C#;General;Microsoft;Snippit</category>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,dc2cb5f2-a21c-4a7f-a3a4-5a5f670a83f7.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=2d68a4b0-ff47-426b-ab28-a5c7f1893724</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,2d68a4b0-ff47-426b-ab28-a5c7f1893724.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,2d68a4b0-ff47-426b-ab28-a5c7f1893724.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=2d68a4b0-ff47-426b-ab28-a5c7f1893724</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.umbraco.org" target="_blank">Umbraco</a>.
   </p>
        <p>
      I've been working with it for almost a year now and tonight I managed to have an Ah-ha
      moment like none I have ever experienced.
   </p>
        <p>
      While working on a project for a <a href="http://www.samaritan.org" target="_blank">client</a>,
      I decided to look at building extensions methods in XSLT. After a few hours, I realized
      it's potential and also realized that I could move towards Umbraco as an environment,
      instead of Umbraco as a platform.
   </p>
        <p>
      Just a few rules that I want to share with you regarding XSLT extensions in Umbraco.
   </p>
        <p>
      1) Accept a string as input - you are working with XSLT, so it's really all strings
      anyway, so when you pass something into your extension method, be sure to pass it
      as a string, TryParse it and send something back that makes sense if it doesn't work.
   </p>
        <p>
      2) Return either a string or an System.Xml.XPath.XPathNodeIterator - If you are displaying
      the data directly, string, if you are iterating, comparing or anything else, XPathNodeIterator. <a href="http://forum.umbraco.org/yaf_postst7257_Error-Expression-must-evaluate-to-a-nodeset-with-data-from-xslt-extension.aspx" target="_blank">This</a> is
      what brought me to that conclusion.
   </p>
        <p>
      3) Don't "Skip testing (ignore errors)" in Umbraco. If it coughs, chances are you
      have a problem. Dig through the forums, post a little and wait. You'll get the answer
      eventually.
   </p>
        <p>
      4) Think atomically - every function call is self contained. Static methods/classes.
   </p>
        <p>
      I can't think of anything that I couldn't accomplish using XSLT Extensions and existing
      Umbraco functionality now. I had been writing custom asp.net user controls to accomplish
      everything I needed up to this point, but now realize that those user controls are
      better suited for moving an existing application to Umbraco, not necessarily for new
      development. I can accomplish just about everything I need using a combination of
      XSLT extensions, <a href="http://www.umbraco.org/documentation/books/introduction-to-base" target="_blank">/BASE</a> and
      some jquery (or other flavor of javascript framework).
   </p>
        <p>
          <a href="http://blockquote.be/examples/umbraco-xslt-lib-astuanax.txt" target="_blank">Here</a> is
      a great example of accomplishing something meaningful with XSLT extension methods
      and <a href="http://www.codeplex.com/umbraco/SourceControl/changeset/file/view/32294/165994" target="_blank">here
      is something even better</a>.
   </p>
        <p>
      Thanks Umbraco.
   </p>
        <p>
      H
   </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=2d68a4b0-ff47-426b-ab28-a5c7f1893724" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/fhCyn49wsD0" height="1" width="1" /></body>
      <title>All of a sudden, I've found reason to blog...</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,2d68a4b0-ff47-426b-ab28-a5c7f1893724.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/fhCyn49wsD0/PermaLink,guid,2d68a4b0-ff47-426b-ab28-a5c7f1893724.aspx</link>
      <pubDate>Fri, 12 Dec 2008 09:29:18 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;a href="http://www.umbraco.org" target="_blank"&gt;Umbraco&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
   I've been working with it for almost a year now and tonight I managed to have an Ah-ha
   moment like none I have ever experienced.
&lt;/p&gt;
&lt;p&gt;
   While working on a project for a &lt;a href="http://www.samaritan.org" target="_blank"&gt;client&lt;/a&gt;,
   I decided to look at building extensions methods in XSLT. After a few hours, I realized
   it's potential and also realized that I could move towards Umbraco as an environment,
   instead of Umbraco as a platform.
&lt;/p&gt;
&lt;p&gt;
   Just a few rules that I want to share with you regarding XSLT extensions in Umbraco.
&lt;/p&gt;
&lt;p&gt;
   1) Accept a string as input - you are working with XSLT, so it's really all strings
   anyway, so when you pass something into your extension method, be sure to pass it
   as a string, TryParse it and send something back that makes sense if it doesn't work.
&lt;/p&gt;
&lt;p&gt;
   2) Return either a string or an System.Xml.XPath.XPathNodeIterator - If you are displaying
   the data directly, string, if you are iterating, comparing or anything else, XPathNodeIterator. &lt;a href="http://forum.umbraco.org/yaf_postst7257_Error-Expression-must-evaluate-to-a-nodeset-with-data-from-xslt-extension.aspx" target="_blank"&gt;This&lt;/a&gt; is
   what brought me to that conclusion.
&lt;/p&gt;
&lt;p&gt;
   3) Don't "Skip testing (ignore errors)" in Umbraco. If it coughs, chances are you
   have a problem. Dig through the forums, post a little and wait. You'll get the answer
   eventually.
&lt;/p&gt;
&lt;p&gt;
   4) Think atomically - every function call is self contained. Static methods/classes.
&lt;/p&gt;
&lt;p&gt;
   I can't think of anything that I couldn't accomplish using XSLT Extensions and existing
   Umbraco functionality now. I had been writing custom asp.net user controls to accomplish
   everything I needed up to this point, but now realize that those user controls are
   better suited for moving an existing application to Umbraco, not necessarily for new
   development. I can accomplish just about everything I need using a combination of
   XSLT extensions, &lt;a href="http://www.umbraco.org/documentation/books/introduction-to-base" target="_blank"&gt;/BASE&lt;/a&gt; and
   some jquery (or other flavor of javascript framework).
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://blockquote.be/examples/umbraco-xslt-lib-astuanax.txt" target="_blank"&gt;Here&lt;/a&gt; is
   a great example of accomplishing something meaningful with XSLT extension methods
   and &lt;a href="http://www.codeplex.com/umbraco/SourceControl/changeset/file/view/32294/165994" target="_blank"&gt;here
   is something even better&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
   Thanks Umbraco.
&lt;/p&gt;
&lt;p&gt;
   H
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=2d68a4b0-ff47-426b-ab28-a5c7f1893724" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,2d68a4b0-ff47-426b-ab28-a5c7f1893724.aspx</comments>
      <category>Bookmarks;C#;Ideas;Internet;Programming;Snippit</category>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,2d68a4b0-ff47-426b-ab28-a5c7f1893724.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=01d12f90-7802-435d-b953-6be8d72e9bb9</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,01d12f90-7802-435d-b953-6be8d72e9bb9.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,01d12f90-7802-435d-b953-6be8d72e9bb9.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=01d12f90-7802-435d-b953-6be8d72e9bb9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Now that the media (and the DC drama queens) are shying away from calling the $700
      billion dollar gift to Wall Street a buyout - actually reporting that there is the
      potential for taxpayers to actually make money from the deal, I am trying to make
      sure that I have my head wrapped sufficiently around what they are trying to accomplish.
   </p>
        <p>
      The treasury (via the FDIC) is going to purchase all "toxic" loans from troubled banks
      so that they can clear up their balance sheet and begin to meet the Federal regulations
      in order to begin loaning money again. They will be purchasing these failing (or failed
      loans at the full value (not really the market value, but the full value of the mortgage,
      even if the property values have dropped substantially) of the note - essentially
      taking ownership of the property and they owner will begin paying (or not paying)
      the treasury. This will allow the credit markets to being to outflow again to speculate
      against potential future inflows into a company that before had crumbling books, but
      now has a clean slate.
   </p>
        <p>
      The federal government then owns the notes that are not currently being paid on, hoping
      that those people who can't pay their loans will begin to do so as the market recovers.
   </p>
        <p>
      This is in hopes to stimulate the economy, especially in the area of housing starts,
      so that we can add more homes to an already flooded market whose values are propped
      up by the fact that loans were so easy to come by in the first place.
   </p>
        <p>
      Those worthless properties that the federal government (taxpayers) may or may not
      be paid on and any hope to foreclose the property are worthless because of the housing
      glut and the fact that the properties are virtually un-sellable. The hope is that
      eventually the market will recover and both the new housing starts and the foreclosed
      properties will regain value and eventually surpass their current values (from nothing)
      giving the taxpayers much needed relief and seeing a return on the 700 billion initial
      "investment".
   </p>
        <p>
      Remember, people ultimately foreclose when they can't afford their mortgage and they
      can't sell their property at or above the loan value. The houses they own are worth
      far less than the loan amounts that they have outstanding. The government can't do
      any better getting this money back and who in the world is going to start new houses,
      when the ones that we already have (most new, 5-10 years old) aren't moving and are
      depreciating - rapidly.
   </p>
        <p>
      Add to that the fact that we all of a sudden have $700 billion more in the potential
      money supply, that is un-earned, un-product driven, non-GNP expanding currency. Any
      ECON 101 student would understand that, given that there is really no solid basis
      for the value of money anymore, each individual dollar in the previous money supply
      is now worth, aggregated, $700 billion less.
   </p>
        <p>
      Crap. We're all screwed - unless of course I can find a way, before Friday, to buy
      an overpriced house, at 19% APR, that I can't afford, in a bad part of town....
   </p>
        <p>
      And the EU, I don't even want to think about that.
   </p>
        <p>
      I covet any comments and corrections on how I understand things. I'm going to try
      to get some sleep, but that's probably not very likely.
   </p>
        <p>
      H
   </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=01d12f90-7802-435d-b953-6be8d72e9bb9" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/HVP9PJ3xqac" height="1" width="1" /></body>
      <title>Let me see if I understand this bailout...</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,01d12f90-7802-435d-b953-6be8d72e9bb9.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/HVP9PJ3xqac/PermaLink,guid,01d12f90-7802-435d-b953-6be8d72e9bb9.aspx</link>
      <pubDate>Thu, 02 Oct 2008 02:56:57 GMT</pubDate>
      <description>&lt;p&gt;
   Now that the media (and the DC drama queens) are shying away from calling the $700
   billion dollar gift to Wall Street a buyout - actually reporting that there is the
   potential for taxpayers to actually make money from the deal, I am trying to make
   sure that I have my head wrapped sufficiently around what they are trying to accomplish.
&lt;/p&gt;
&lt;p&gt;
   The treasury (via the FDIC) is going to purchase all "toxic" loans from troubled banks
   so that they can clear up their balance sheet and begin to meet the Federal regulations
   in order to begin loaning money again. They will be purchasing these failing (or failed
   loans at the full value (not really the market value, but the full value of the mortgage,
   even if the property values have dropped substantially) of the note - essentially
   taking ownership of the property and they owner will begin paying (or not paying)
   the treasury. This will allow the credit markets to being to outflow again to speculate
   against potential future inflows into a company that before had crumbling books, but
   now has a clean slate.
&lt;/p&gt;
&lt;p&gt;
   The federal government then owns the notes that are not currently being paid on, hoping
   that those people who can't pay their loans will begin to do so as the market recovers.
&lt;/p&gt;
&lt;p&gt;
   This is in hopes to stimulate the economy, especially in the area of housing starts,
   so that we can add more homes to an already flooded market whose values are propped
   up by the fact that loans were so easy to come by in the first place.
&lt;/p&gt;
&lt;p&gt;
   Those worthless properties that the federal government (taxpayers) may or may not
   be paid on and any hope to foreclose the property are worthless because of the housing
   glut and the fact that the properties are virtually un-sellable. The hope is that
   eventually the market will recover and both the new housing starts and the foreclosed
   properties will regain value and eventually surpass their current values (from nothing)
   giving the taxpayers much needed relief and seeing a return on the 700 billion initial
   "investment".
&lt;/p&gt;
&lt;p&gt;
   Remember, people ultimately foreclose when they can't afford their mortgage and they
   can't sell their property at or above the loan value. The houses they own are worth
   far less than the loan amounts that they have outstanding. The government can't do
   any better getting this money back and who in the world is going to start new houses,
   when the ones that we already have (most new, 5-10 years old) aren't moving and are
   depreciating - rapidly.
&lt;/p&gt;
&lt;p&gt;
   Add to that the fact that we all of a sudden have $700 billion more in the potential
   money supply, that is un-earned, un-product driven, non-GNP expanding currency. Any
   ECON 101 student would understand that, given that there is really no solid basis
   for the value of money anymore, each individual dollar in the previous money supply
   is now worth, aggregated, $700 billion less.
&lt;/p&gt;
&lt;p&gt;
   Crap. We're all screwed - unless of course I can find a way, before Friday, to buy
   an overpriced house, at 19% APR, that I can't afford, in a bad part of town....
&lt;/p&gt;
&lt;p&gt;
   And the EU, I don't even want to think about that.
&lt;/p&gt;
&lt;p&gt;
   I covet any comments and corrections on how I understand things. I'm going to try
   to get some sleep, but that's probably not very likely.
&lt;/p&gt;
&lt;p&gt;
   H
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=01d12f90-7802-435d-b953-6be8d72e9bb9" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,01d12f90-7802-435d-b953-6be8d72e9bb9.aspx</comments>
      <category>Business;General;News</category>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,01d12f90-7802-435d-b953-6be8d72e9bb9.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Recently I had to make an .mdb file accessible for download after authentication and
      couldn't allow a direct link to the file. We had written a similar handler for .xls
      and others (.csv, etc...) - we sent back a few headers to set the file name and the
      mime type and then server.transfer'd to stream out the binary file.
   </p>
        <p>
      Turns out that IIS maps .mdb files to the aspnet_isapi.dll executable by default <em>(in
      fact on the server we were testing it was also mapped to a perl interpreter... go
      figure) </em>, making server.transfer cough. We were receiving the following error
      when trying to do the transfer:
   </p>
        <blockquote>
          <p>
      System.Web.HttpException: Error executing child request for /{ourdirectory}/{ourfilename}.mdb
   </p>
          <pre>[HttpException (0x80004005): Error executing child request for /{ourdirectory}/{ourfilename}.]
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +2672379
   System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) +819
   System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm) +57
   System.Web.HttpServerUtility.Transfer(String path) +35
   {mycontrol}.Page_Load(Object sender, EventArgs e) in {path to my control file}.cs:33
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
</pre>
        </blockquote>
        <p>
      One of the options that we found was to simply remove the mapping in IIS, but then
      I ran into the problem of not being able to remove the mapping from the ASP.NET Development
      Server (at least in a way I could figure out easily). So, option 2 presented itself
      and we found it to be the best solution for both situations. Simply add the following
      in the &lt;httpHandlers&gt; section of your web.config:
   </p>
        <blockquote>
          <p>
      &lt;remove verb="*" path="*.mdb" /&gt;<br /></p>
        </blockquote>
        <p>
      If you don't have an httpHandlers section of your web.config, it goes in as a subsection
      of &lt;system.web&gt;
   </p>
        <blockquote>
          <p>
      &lt;system.web&gt;<br />
      &lt;!-- ... other stuff .. --&gt;<br />
      &lt;httpHandlers&gt;<br />
      &lt;remove verb="*" path="*.mdb" /&gt;<br />
      &lt;/httpHandlers&gt;<br />
      &lt;!-- ... other stuff ... --&gt;<br />
      &lt;/system.web&gt;
   </p>
        </blockquote>
        <p>
      No more problems with code like the following:
   </p>
        <blockquote>
          <p>
      Response.ContentType = "application/octet-stream";<br />
      Response.AddHeader("Content-Disposition", "attachment; filename=" + myFileName);<br />
      Response.Flush();<br />
      Server.Transfer(baseVirtualPath + myFileName);
   </p>
        </blockquote>
        <p>
      No my dev environment using Asp.Net Development Server had the same settings that
      the IIS 6 app had, so I could test and debug properly.
   </p>
        <p>
      Some helpful links that helped me solve the problem:
   </p>
        <p>
          <a title="http://www.eggheadcafe.com/software/aspnet/29460604/iis-6-wont-serve-mdb-fil.aspx" href="http://www.eggheadcafe.com/software/aspnet/29460604/iis-6-wont-serve-mdb-fil.aspx">http://www.eggheadcafe.com/software/aspnet/29460604/iis-6-wont-serve-mdb-fil.aspx</a>
          <br />
          <a title="http://forums.asp.net/p/1022569/1393806.aspx" href="http://forums.asp.net/p/1022569/1393806.aspx">http://forums.asp.net/p/1022569/1393806.aspx</a>
        </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/hjQb9PnH7OU" height="1" width="1" /></body>
      <title>Problem using Server.Transfer to download a .mdb file</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/hjQb9PnH7OU/PermaLink,guid,07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6.aspx</link>
      <pubDate>Tue, 22 Jul 2008 20:38:33 GMT</pubDate>
      <description>&lt;p&gt;
   Recently I had to make an .mdb file accessible for download after authentication and
   couldn't allow a direct link to the file. We had written a similar handler for .xls
   and others (.csv, etc...) - we sent back a few headers to set the file name and the
   mime type and then server.transfer'd to stream out the binary file.
&lt;/p&gt;
&lt;p&gt;
   Turns out that IIS maps .mdb files to the aspnet_isapi.dll executable by default &lt;em&gt;(in
   fact on the server we were testing it was also mapped to a perl interpreter... go
   figure) &lt;/em&gt;, making server.transfer cough. We were receiving the following error
   when trying to do the transfer:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
   System.Web.HttpException: Error executing child request for /{ourdirectory}/{ourfilename}.mdb
&lt;/p&gt;
&lt;pre&gt;[HttpException (0x80004005): Error executing child request for /{ourdirectory}/{ourfilename}.]
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +2672379
   System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) +819
   System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm) +57
   System.Web.HttpServerUtility.Transfer(String path) +35
   {mycontrol}.Page_Load(Object sender, EventArgs e) in {path to my control file}.cs:33
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
&lt;/pre&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
   One of the options that we found was to simply remove the mapping in IIS, but then
   I ran into the problem of not being able to remove the mapping from the ASP.NET Development
   Server (at least in a way I could figure out easily). So, option 2 presented itself
   and we found it to be the best solution for both situations. Simply add the following
   in the &amp;lt;httpHandlers&amp;gt; section of your web.config:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
   &amp;lt;remove verb="*" path="*.mdb" /&amp;gt;&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
   If you don't have an httpHandlers section of your web.config, it goes in as a subsection
   of &amp;lt;system.web&amp;gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
   &amp;lt;system.web&amp;gt;&lt;br&gt;
   &amp;lt;!-- ... other stuff .. --&amp;gt;&lt;br&gt;
   &amp;lt;httpHandlers&amp;gt;&lt;br&gt;
   &amp;lt;remove verb="*" path="*.mdb" /&amp;gt;&lt;br&gt;
   &amp;lt;/httpHandlers&amp;gt;&lt;br&gt;
   &amp;lt;!-- ... other stuff ... --&amp;gt;&lt;br&gt;
   &amp;lt;/system.web&amp;gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
   No more problems with code like the following:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
   Response.ContentType = "application/octet-stream";&lt;br&gt;
   Response.AddHeader("Content-Disposition", "attachment; filename=" + myFileName);&lt;br&gt;
   Response.Flush();&lt;br&gt;
   Server.Transfer(baseVirtualPath + myFileName);
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
   No my dev environment using Asp.Net Development Server had the same settings that
   the IIS 6 app had, so I could test and debug properly.
&lt;/p&gt;
&lt;p&gt;
   Some helpful links that helped me solve the problem:
&lt;/p&gt;
&lt;p&gt;
   &lt;a title="http://www.eggheadcafe.com/software/aspnet/29460604/iis-6-wont-serve-mdb-fil.aspx" href="http://www.eggheadcafe.com/software/aspnet/29460604/iis-6-wont-serve-mdb-fil.aspx"&gt;http://www.eggheadcafe.com/software/aspnet/29460604/iis-6-wont-serve-mdb-fil.aspx&lt;/a&gt;
   &lt;br&gt;
   &lt;a title="http://forums.asp.net/p/1022569/1393806.aspx" href="http://forums.asp.net/p/1022569/1393806.aspx"&gt;http://forums.asp.net/p/1022569/1393806.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6.aspx</comments>
      <category>Bookmarks;Business;C#;General;Microsoft;Programming;Snippit</category>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,07afd28a-fadd-4bb2-9fc9-3eb0c64c2ba6.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=af8f0c71-0836-4507-a490-cd004ee66ed0</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,af8f0c71-0836-4507-a490-cd004ee66ed0.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,af8f0c71-0836-4507-a490-cd004ee66ed0.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=af8f0c71-0836-4507-a490-cd004ee66ed0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I recently developed an application using Linq to Sql against SQL Express for my development
      environment. Initially, I was under the impression that it would be running in a SQL
      2K5 production environment, but at my first deliverable discovered that I was going
      to have to port back to SQL 2000 prior to delivery. 
   </p>
        <p>
      I thought at first that the only real changes I would have to make is reducing my
      varchar(max) types to the 2K5 upper limit and continue on, but discovered some pretty
      severe limitations to using Linq To SQL against SQL 2000.
   </p>
        <p>
      To access my LTS objects and methods, I wrapped everything up into a data layer that
      returned either single enties or IQueryable for multiple result sets, this in turn
      was consumed by my business layer which generally converted to lists or something
      that made a little more since to the presentation. On my port back, IQueryable seems
      to be where I ran into the problems. I was running into errors like the following:
   </p>
        <blockquote>
          <p>
            <em>
              <strong>Local sequence cannot be used in LINQ to SQL implementation of query operators
      except the Contains() operator.</strong>
            </em>
          </p>
          <p>
            <em>
              <strong>Cannot translate expression to SQL for this server version.Translation
      would contain an expression of type Text, NText or Image in a SELECT DISTINCT clause</strong>
            </em>
          </p>
          <p>
            <em>
              <strong>Cannot translate expression to SQL for this server version</strong>
            </em>
          </p>
        </blockquote>
        <p>
      Using SQL 2000 as the back-end doesn't allow me to do complex queries when the results
      contain nText or binary data as the derived sql makes extensive use of DISTINCT. Against
      SQL Express I had become accustomed to chaining together multiple IQueryable methods
      and then calling my datacontext to execute a single method. Now, I found myself having
      to make use of .ToList in virtually every complex query that involved a table at any
      join level that contained a BLOB. Lots and lots of junk across the wire...
   </p>
        <p>
      I still don't have a workable solution to allowing IQueryable to be replacement for
      collections and am in the process of combining methods anywhere that IQueryable no
      longer makes sense which is tedious and hopefully will be rendered unnecessary.
   </p>
        <p>
          <em>That was a lot of lead up to what I really wanted to post - The limitations of
      SQL Server Express...</em>
        </p>
        <p>
      For ages (at least several months), I have been developing against SQL Express and
      find it easy to use, light weight and very capable. However, I had never before considered
      the possibility that SQL Express could be a viable dbms, especially in a production
      environment. My application is complex, but not huge. 
   </p>
        <p>
      The limitations of SQL Express are simply resource limits and not functional limits.
      As long as my db is <strong>smaller than 4GB</strong> in size (if I manage my log
      files well, there is no reason it shouldn't be) and doesn't require more than <strong>1
      CPU and 1 GB of RAM</strong>, SQL Express should be a fully capable and possibly even
      desirable alternative to the enterprise editions of even SQL 2005. These are not hardware
      limits, but resource limits constrained by the application itself. This means that
      SQL Express could probably live nicely on a web server and that the db service, out
      of the box, wouldn't grab an excessive share of resources.
   </p>
        <p>
      Using SQL Express would help me to avoid extensive re-writes and would allow the client
      to install without any additional software purchases. I covet any feedback on your
      experiences using SQL Express in a production environment and any feedback in general
      about this post.
   </p>
        <p>
      In addition, here are some links I found useful to finding the source of my problem
      in the first place:
   </p>
        <ul>
          <li>
            <a href="http://www.aneyfamily.com/terryandann/post/2008/04/LINQ-to-SQL-Batch-UpdatesDeletes-Fix-for-Could-not-translate-expression.aspx" target="_blank">Linq
         to SQL Batch Updates/Deletes: Fix for 'Count not translate expression'</a>
          </li>
          <li>
            <a href="http://msdn.microsoft.com/en-us/library/bb399342.aspx" target="_blank">Standard
         Query Operator Translation (LINQ to SQL)</a>
          </li>
          <li>
            <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2726006&amp;SiteID=1" target="_blank">Need
         linq help</a>
          </li>
          <li>
            <a href="http://msdn.microsoft.com/en-us/library/bb546158.aspx" target="_blank">Creating
         an IQueryable LINQ Provider</a>
          </li>
        </ul>
        <p>
      H
   </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=af8f0c71-0836-4507-a490-cd004ee66ed0" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/i_M8H6lYaF4" height="1" width="1" /></body>
      <title>SQL Express vs SQL 2000 Enterprise...</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,af8f0c71-0836-4507-a490-cd004ee66ed0.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/i_M8H6lYaF4/PermaLink,guid,af8f0c71-0836-4507-a490-cd004ee66ed0.aspx</link>
      <pubDate>Mon, 14 Jul 2008 17:53:44 GMT</pubDate>
      <description>&lt;p&gt;
   I recently developed an application using Linq to Sql against SQL Express for my development
   environment. Initially, I was under the impression that it would be running in a SQL
   2K5 production environment, but at my first deliverable discovered that I was going
   to have to port back to SQL 2000 prior to delivery. 
&lt;/p&gt;
&lt;p&gt;
   I thought at first that the only real changes I would have to make is reducing my
   varchar(max) types to the 2K5 upper limit and continue on, but discovered some pretty
   severe limitations to using Linq To SQL against SQL 2000.
&lt;/p&gt;
&lt;p&gt;
   To access my LTS objects and methods, I wrapped everything up into a data layer that
   returned either single enties or IQueryable for multiple result sets, this in turn
   was consumed by my business layer which generally converted to lists or something
   that made a little more since to the presentation. On my port back, IQueryable seems
   to be where I ran into the problems. I was running into errors like the following:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
   &lt;em&gt;&lt;strong&gt;Local sequence cannot be used in LINQ to SQL implementation of query operators
   except the Contains() operator.&lt;/strong&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;&lt;strong&gt;Cannot translate expression to SQL for this server version.Translation
   would contain an expression of type Text, NText or Image in a SELECT DISTINCT clause&lt;/strong&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;&lt;strong&gt;Cannot translate expression to SQL for this server version&lt;/strong&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
   Using SQL 2000 as the back-end doesn't allow me to do complex queries when the results
   contain nText or binary data as the derived sql makes extensive use of DISTINCT. Against
   SQL Express I had become accustomed to chaining together multiple IQueryable methods
   and then calling my datacontext to execute a single method. Now, I found myself having
   to make use of .ToList in virtually every complex query that involved a table at any
   join level that contained a BLOB. Lots and lots of junk across the wire...
&lt;/p&gt;
&lt;p&gt;
   I still don't have a workable solution to allowing IQueryable to be replacement for
   collections and am in the process of combining methods anywhere that IQueryable no
   longer makes sense which is tedious and hopefully will be rendered unnecessary.
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;That was a lot of lead up to what I really wanted to post - The limitations of
   SQL Server Express...&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   For ages (at least several months), I have been developing against SQL Express and
   find it easy to use, light weight and very capable. However, I had never before considered
   the possibility that SQL Express could be a viable dbms, especially in a production
   environment. My application is complex, but not huge. 
&lt;/p&gt;
&lt;p&gt;
   The limitations of SQL Express are simply resource limits and not functional limits.
   As long as my db is &lt;strong&gt;smaller than 4GB&lt;/strong&gt; in size (if I manage my log
   files well, there is no reason it shouldn't be) and doesn't require more than &lt;strong&gt;1
   CPU and 1 GB of RAM&lt;/strong&gt;, SQL Express should be a fully capable and possibly even
   desirable alternative to the enterprise editions of even SQL 2005. These are not hardware
   limits, but resource limits constrained by the application itself. This means that
   SQL Express could probably live nicely on a web server and that the db service, out
   of the box, wouldn't grab an excessive share of resources.
&lt;/p&gt;
&lt;p&gt;
   Using SQL Express would help me to avoid extensive re-writes and would allow the client
   to install without any additional software purchases. I covet any feedback on your
   experiences using SQL Express in a production environment and any feedback in general
   about this post.
&lt;/p&gt;
&lt;p&gt;
   In addition, here are some links I found useful to finding the source of my problem
   in the first place:
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      &lt;a href="http://www.aneyfamily.com/terryandann/post/2008/04/LINQ-to-SQL-Batch-UpdatesDeletes-Fix-for-Could-not-translate-expression.aspx" target="_blank"&gt;Linq
      to SQL Batch Updates/Deletes: Fix for 'Count not translate expression'&lt;/a&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;a href="http://msdn.microsoft.com/en-us/library/bb399342.aspx" target="_blank"&gt;Standard
      Query Operator Translation (LINQ to SQL)&lt;/a&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2726006&amp;amp;SiteID=1" target="_blank"&gt;Need
      linq help&lt;/a&gt;
   &lt;/li&gt;
   &lt;li&gt;
      &lt;a href="http://msdn.microsoft.com/en-us/library/bb546158.aspx" target="_blank"&gt;Creating
      an IQueryable LINQ Provider&lt;/a&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   H
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=af8f0c71-0836-4507-a490-cd004ee66ed0" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,af8f0c71-0836-4507-a490-cd004ee66ed0.aspx</comments>
      <category>Bookmarks;Business;C#;General;Internet;Microsoft;Programming</category>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,af8f0c71-0836-4507-a490-cd004ee66ed0.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=beb5453c-eb7c-4c62-9c31-1a3e0addfffc</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,beb5453c-eb7c-4c62-9c31-1a3e0addfffc.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,beb5453c-eb7c-4c62-9c31-1a3e0addfffc.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=beb5453c-eb7c-4c62-9c31-1a3e0addfffc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I needed a quick and dirty way to get my LinqToSQL results into a datatable due to
      a constraint by a component we were using. I couldn't find a decent mechanism for
      doing so within IQueryable, so I extended the following ToDataTable method. Any comments
      would be greatly appreciated. 
   </p>
        <p>
      &lt;Extension()&gt; _<br />
      Public Function ToDataTable(ByVal o As IQueryable) As DataTable 
   </p>
        <p>
          Dim dt As New DataTable<br />
          Dim props = o.ElementType.GetProperties<br />
          For Each prop In props<br />
              'Datatable doesn't like System.Nullable
      as a type, so I accounted for the two nullable fields I was using...<br />
              If prop.PropertyType Is GetType(System.Nullable(Of
      DateTime)) Then<br />
                  dt.Columns.Add(New
      DataColumn(prop.Name, GetType(DateTime)))<br />
              ElseIf prop.PropertyType Is GetType(System.Nullable(Of
      Integer)) Then<br />
                  dt.Columns.Add(New
      DataColumn(prop.Name, GetType(Integer)))<br />
              Else<br />
                  dt.Columns.Add(New
      DataColumn(prop.Name, prop.PropertyType))<br />
              End If<br />
          Next<br />
          For Each obj In (From x In o Select x)<br />
              Dim oRow = dt.NewRow<br />
              For Each prop In props<br />
                  If prop.GetValue(obj,
      Nothing) Is Nothing Then<br />
                     
      ' Don't set it to anything!!!<br />
                  Else<br />
                     
      oRow(prop.Name) = prop.GetValue(obj, Nothing)<br />
                  End If<br />
              Next<br />
              dt.Rows.Add(oRow)<br />
          Next<br />
          Return dt<br />
      End Function
   </p>
        <p>
          <a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fhal.lco.net%2f2008%2f05%2f31%2fIQueryable%2bTo%2bDataTable.aspx">
            <img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fhal.lco.net%2f2008%2f05%2f31%2fIQueryable%2bTo%2bDataTable.aspx" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=beb5453c-eb7c-4c62-9c31-1a3e0addfffc" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/tFB7y7N2yew" height="1" width="1" /></body>
      <title>IQueryable to DataTable</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,beb5453c-eb7c-4c62-9c31-1a3e0addfffc.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/tFB7y7N2yew/PermaLink,guid,beb5453c-eb7c-4c62-9c31-1a3e0addfffc.aspx</link>
      <pubDate>Sat, 31 May 2008 02:35:55 GMT</pubDate>
      <description>&lt;p&gt;
   I needed a quick and dirty way to get my LinqToSQL results into a datatable due to
   a constraint by a component we were using. I couldn't find a decent mechanism for
   doing so within IQueryable, so I extended the following ToDataTable method. Any comments
   would be greatly appreciated. 
&lt;p&gt;
   &amp;lt;Extension()&amp;gt; _&lt;br&gt;
   Public Function ToDataTable(ByVal o As IQueryable) As DataTable 
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dt As New DataTable&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim props = o.ElementType.GetProperties&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; For Each prop In props&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Datatable doesn't like System.Nullable
   as a type, so I accounted for the two nullable fields I was using...&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If prop.PropertyType Is GetType(System.Nullable(Of
   DateTime)) Then&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; dt.Columns.Add(New
   DataColumn(prop.Name, GetType(DateTime)))&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf prop.PropertyType Is GetType(System.Nullable(Of
   Integer)) Then&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; dt.Columns.Add(New
   DataColumn(prop.Name, GetType(Integer)))&lt;br&gt;
   &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; dt.Columns.Add(New
   DataColumn(prop.Name, prop.PropertyType))&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; For Each obj In (From x In o Select x)&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oRow = dt.NewRow&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each prop In props&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; If prop.GetValue(obj,
   Nothing) Is Nothing Then&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;
   ' Don't set it to anything!!!&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; 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;
   oRow(prop.Name) = prop.GetValue(obj, Nothing)&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; End If&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dt.Rows.Add(oRow)&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; Return dt&lt;br&gt;
   End Function
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fhal.lco.net%2f2008%2f05%2f31%2fIQueryable%2bTo%2bDataTable.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fhal.lco.net%2f2008%2f05%2f31%2fIQueryable%2bTo%2bDataTable.aspx" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=beb5453c-eb7c-4c62-9c31-1a3e0addfffc" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,beb5453c-eb7c-4c62-9c31-1a3e0addfffc.aspx</comments>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,beb5453c-eb7c-4c62-9c31-1a3e0addfffc.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=b4151e23-a123-4b1f-b4fc-4969609bcafc</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,b4151e23-a123-4b1f-b4fc-4969609bcafc.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,b4151e23-a123-4b1f-b4fc-4969609bcafc.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b4151e23-a123-4b1f-b4fc-4969609bcafc</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Recently, I started developing new applications around the Umbraco Content Management
      System. I use the term <em>around</em> very lightly, because Umbraco really doesn't
      require any constraints on your code (like DNN, Rainbow and virtually every other
      .Net based CMS that I have used), other than the need to develop in user controls
      instead of aspx pages - which makes perfect sense given the idea of a CMS. It has
      worked flawlessly and is easily the best .net based CMS system around from a developer
      AND designer perspective.
   </p>
        <p>
      I ran into my first hiccup yesterday when trying to develop using AJAX in Umbraco.
      My design project had been setup to target the 3.5 extensions, while Umbraco is generally
      configured to use the 2.0 version with the AJAX extensions. All is well with controls,
      until trying to use AJAX - apparently enough changed under the hood to require a dependency
      for the version of the ScriptManager and UpdatePanel being used.
   </p>
        <p>
      The Umbraco community came to the rescue before the ink was dry on my forum post.
      The initial reply to my issue came within a few minutes on the public Umbraco forums <a href="http://forum.umbraco.org/yaf_postsm23356_UpdatePanel-causing-error-in-control.aspx#23356">[My
      Post]</a> and while their first suggestions didn't fix the problem, it certainly led
      me in the right direction and on to the final solution: <a title="http://forum.umbraco.org/yaf_postst1245_A-version-compatible-with-Windows-Server-2008--ASPNET-35.aspx" href="http://forum.umbraco.org/yaf_postst1245_A-version-compatible-with-Windows-Server-2008--ASPNET-35.aspx">http://forum.umbraco.org/yaf_postst1245_A-version-compatible-with-Windows-Server-2008--ASPNET-35.aspx</a></p>
        <p>
      BTW - all it takes to get Umbraco to start using the 3.5 extensions is the following
      addition to your web.config:
   </p>
        <p>
        &lt;runtime&gt;<br />
          &lt;assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"&gt;<br />
            &lt;dependentAssembly&gt;<br />
              &lt;assemblyIdentity name="System.Web.Extensions"
      publicKeyToken="31bf3856ad364e35"/&gt;<br />
              &lt;bindingRedirect oldVersion="1.0.0.0-1.1.0.0"
      newVersion="3.5.0.0"/&gt;<br />
            &lt;/dependentAssembly&gt;<br />
            &lt;dependentAssembly&gt;<br />
              &lt;assemblyIdentity name="System.Web.Extensions.Design"
      publicKeyToken="31bf3856ad364e35"/&gt;<br />
              &lt;bindingRedirect oldVersion="1.0.0.0-1.1.0.0"
      newVersion="3.5.0.0"/&gt;<br />
            &lt;/dependentAssembly&gt;<br />
          &lt;/assemblyBinding&gt;<br />
        &lt;/runtime&gt; 
   </p>
        <p>
      Just before your closing &lt;\configuration&gt; tag. 
   </p>
        <p>
      Thanks to <a href="http://www.percipientstudios.com/" target="_blank">Doug Robar</a>, <a href="http://sjorsp.hyves.nl/" target="_blank">Sjors
      Pals</a>, Tim Geyssens, <a href="http://neehouse.com/" target="_blank">Casey Neehouse</a> and
      Petr Snobelt and the <a href="http://www.umbraco.org" target="_blank">rest of the
      Umbraco world</a> for such an awesome application and community. For all of the grief
      that Umbraco is given about documentation being sparse and decentralized - after you
      spend a couple of weeks in the forums, setting up your Umbraco tag at <a href="http://del.icio.us/tags/umbraco" target="_blank">del.icio.us</a> and <a href="http://technorati.com/tags/umbraco" target="_blank">technorati</a>,
      and <a href="http://www.umbraco.org/documentation/books/xslt-basics" target="_blank">learning
      XSLT</a>, those concerns evaporate and you begin to see an unrivaled depth of support,
      content and community. 
   </p>
        <p>
        
   </p>
        <p>
        </p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f8ed4cf4-faf0-4aca-ae07-0bcb1258410e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
      Tags: <a href="http://technorati.com/tags/umbraco" rel="tag">umbraco</a>, <a href="http://technorati.com/tags/aspnet" rel="tag">aspnet</a>, <a href="http://technorati.com/tags/code" rel="tag">code</a></div>
        <p>
        </p>
        <p>
        </p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1c595148-dfe9-47c1-a8b9-0867d943bde8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">del.icio.us
      Tags: <a href="http://del.icio.us/popular/umbraco" rel="tag">umbraco</a>, <a href="http://del.icio.us/popular/aspnet" rel="tag">aspnet</a>, <a href="http://del.icio.us/popular/code" rel="tag">code</a></div>
        <p>
          <a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fhal.lco.net%2f2008%2f04%2f25%2fEnabling%2bASPNET%2b35%2bIn%2bUmbraco.aspx">
            <img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fhal.lco.net%2f2008%2f04%2f25%2fEnabling%2bASPNET%2b35%2bIn%2bUmbraco.aspx" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=b4151e23-a123-4b1f-b4fc-4969609bcafc" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/zTJCTqLS-nw" height="1" width="1" /></body>
      <title>Enabling ASP.NET 3.5 in Umbraco</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,b4151e23-a123-4b1f-b4fc-4969609bcafc.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/zTJCTqLS-nw/PermaLink,guid,b4151e23-a123-4b1f-b4fc-4969609bcafc.aspx</link>
      <pubDate>Fri, 25 Apr 2008 14:24:39 GMT</pubDate>
      <description>&lt;p&gt;
   Recently, I started developing new applications around the Umbraco Content Management
   System. I use the term &lt;em&gt;around&lt;/em&gt; very lightly, because Umbraco really doesn't
   require any constraints on your code (like DNN, Rainbow and virtually every other
   .Net based CMS that I have used), other than the need to develop in user controls
   instead of aspx pages - which makes perfect sense given the idea of a CMS. It has
   worked flawlessly and is easily the best .net based CMS system around from a developer
   AND designer perspective.
&lt;/p&gt;
&lt;p&gt;
   I ran into my first hiccup yesterday when trying to develop using AJAX in Umbraco.
   My design project had been setup to target the 3.5 extensions, while Umbraco is generally
   configured to use the 2.0 version with the AJAX extensions. All is well with controls,
   until trying to use AJAX - apparently enough changed under the hood to require a dependency
   for the version of the ScriptManager and UpdatePanel being used.
&lt;/p&gt;
&lt;p&gt;
   The Umbraco community came to the rescue before the ink was dry on my forum post.
   The initial reply to my issue came within a few minutes on the public Umbraco forums &lt;a href="http://forum.umbraco.org/yaf_postsm23356_UpdatePanel-causing-error-in-control.aspx#23356"&gt;[My
   Post]&lt;/a&gt; and while their first suggestions didn't fix the problem, it certainly led
   me in the right direction and on to the final solution: &lt;a title="http://forum.umbraco.org/yaf_postst1245_A-version-compatible-with-Windows-Server-2008--ASPNET-35.aspx" href="http://forum.umbraco.org/yaf_postst1245_A-version-compatible-with-Windows-Server-2008--ASPNET-35.aspx"&gt;http://forum.umbraco.org/yaf_postst1245_A-version-compatible-with-Windows-Server-2008--ASPNET-35.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   BTW - all it takes to get Umbraco to start using the 3.5 extensions is the following
   addition to your web.config:
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp; &amp;lt;runtime&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependentAssembly&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyIdentity name="System.Web.Extensions"
   publicKeyToken="31bf3856ad364e35"/&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bindingRedirect oldVersion="1.0.0.0-1.1.0.0"
   newVersion="3.5.0.0"/&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependentAssembly&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependentAssembly&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyIdentity name="System.Web.Extensions.Design"
   publicKeyToken="31bf3856ad364e35"/&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bindingRedirect oldVersion="1.0.0.0-1.1.0.0"
   newVersion="3.5.0.0"/&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependentAssembly&amp;gt;&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/assemblyBinding&amp;gt;&lt;br&gt;
   &amp;nbsp; &amp;lt;/runtime&amp;gt; 
&lt;p&gt;
   Just before your closing &amp;lt;\configuration&amp;gt; tag. 
&lt;p&gt;
   Thanks to &lt;a href="http://www.percipientstudios.com/" target="_blank"&gt;Doug Robar&lt;/a&gt;, &lt;a href="http://sjorsp.hyves.nl/" target="_blank"&gt;Sjors
   Pals&lt;/a&gt;, Tim Geyssens, &lt;a href="http://neehouse.com/" target="_blank"&gt;Casey Neehouse&lt;/a&gt; and
   Petr Snobelt and the &lt;a href="http://www.umbraco.org" target="_blank"&gt;rest of the
   Umbraco world&lt;/a&gt; for such an awesome application and community. For all of the grief
   that Umbraco is given about documentation being sparse and decentralized - after you
   spend a couple of weeks in the forums, setting up your Umbraco tag at &lt;a href="http://del.icio.us/tags/umbraco" target="_blank"&gt;del.icio.us&lt;/a&gt; and &lt;a href="http://technorati.com/tags/umbraco" target="_blank"&gt;technorati&lt;/a&gt;,
   and &lt;a href="http://www.umbraco.org/documentation/books/xslt-basics" target="_blank"&gt;learning
   XSLT&lt;/a&gt;, those concerns evaporate and you begin to see an unrivaled depth of support,
   content and community. 
&lt;p&gt;
   &amp;nbsp; 
&lt;p&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f8ed4cf4-faf0-4aca-ae07-0bcb1258410e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati
   Tags: &lt;a href="http://technorati.com/tags/umbraco" rel="tag"&gt;umbraco&lt;/a&gt;, &lt;a href="http://technorati.com/tags/aspnet" rel="tag"&gt;aspnet&lt;/a&gt;, &lt;a href="http://technorati.com/tags/code" rel="tag"&gt;code&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1c595148-dfe9-47c1-a8b9-0867d943bde8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us
   Tags: &lt;a href="http://del.icio.us/popular/umbraco" rel="tag"&gt;umbraco&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/aspnet" rel="tag"&gt;aspnet&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/code" rel="tag"&gt;code&lt;/a&gt;
&lt;/div&gt;
&gt;
&lt;p&gt;
   &lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fhal.lco.net%2f2008%2f04%2f25%2fEnabling%2bASPNET%2b35%2bIn%2bUmbraco.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fhal.lco.net%2f2008%2f04%2f25%2fEnabling%2bASPNET%2b35%2bIn%2bUmbraco.aspx" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=b4151e23-a123-4b1f-b4fc-4969609bcafc" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,b4151e23-a123-4b1f-b4fc-4969609bcafc.aspx</comments>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,b4151e23-a123-4b1f-b4fc-4969609bcafc.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://hal.lco.net/Trackback.aspx?guid=8087a11d-20f0-4a5f-8038-0b56e0a0fa20</trackback:ping>
      <pingback:server>http://hal.lco.net/pingback.aspx</pingback:server>
      <pingback:target>http://hal.lco.net/PermaLink,guid,8087a11d-20f0-4a5f-8038-0b56e0a0fa20.aspx</pingback:target>
      <dc:creator>hlesesne@gmail.com (Hal Lesesne)</dc:creator>
      <wfw:comment>http://hal.lco.net/CommentView,guid,8087a11d-20f0-4a5f-8038-0b56e0a0fa20.aspx</wfw:comment>
      <wfw:commentRss>http://hal.lco.net/SyndicationService.asmx/GetEntryCommentsRss?guid=8087a11d-20f0-4a5f-8038-0b56e0a0fa20</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      This makes absolutely no sense whatsoever... I am trying to get my head around how
      the NRLC considers a voting record that is consistent to be a voting record that is
      truly pro-life. IMHO - A stance on embryonic stem cell research similar to McCain,
      reveals the heart of his true stance on the sanctity of life. Spineless sellouts -
      this has nothing to do with sanctity of life and everything to do with politics.
   </p>
        <blockquote>The National Right to Life Committee (NRLC), the nation’s largest and
   most influential pro-life organization, has announced the “unanimous” decision by
   its board of directors to back Republican presidential hopeful John McCain.</blockquote>
        <p>
          <a href="http://christianpost.com/article/20080409/31866_Prominent_Pro-Life_Group_Backs_McCain.htm">Prominent
      Pro-Life Group Backs McCain | Christianpost.com</a>
        </p>
        <img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=8087a11d-20f0-4a5f-8038-0b56e0a0fa20" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/widescreen/~4/PR9EHhjFL_Y" height="1" width="1" /></body>
      <title>Prominent Pro-Life Group Backs McCain</title>
      <guid isPermaLink="false">http://hal.lco.net/PermaLink,guid,8087a11d-20f0-4a5f-8038-0b56e0a0fa20.aspx</guid>
      <link>http://feedproxy.google.com/~r/widescreen/~3/PR9EHhjFL_Y/PermaLink,guid,8087a11d-20f0-4a5f-8038-0b56e0a0fa20.aspx</link>
      <pubDate>Wed, 09 Apr 2008 15:40:29 GMT</pubDate>
      <description>&lt;p&gt;
   This makes absolutely no sense whatsoever... I am trying to get my head around how
   the NRLC considers a voting record that is consistent to be a voting record that is
   truly pro-life. IMHO - A stance on embryonic stem cell research similar to McCain,
   reveals the heart of his true stance on the sanctity of life. Spineless sellouts -
   this has nothing to do with sanctity of life and everything to do with politics.
&lt;/p&gt;
&lt;blockquote&gt;The National Right to Life Committee (NRLC), the nation’s largest and
most influential pro-life organization, has announced the “unanimous” decision by
its board of directors to back Republican presidential hopeful John McCain.&lt;/blockquote&gt; 
&lt;p&gt;
   &lt;a href="http://christianpost.com/article/20080409/31866_Prominent_Pro-Life_Group_Backs_McCain.htm"&gt;Prominent
   Pro-Life Group Backs McCain | Christianpost.com&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hal.lco.net/aggbug.ashx?id=8087a11d-20f0-4a5f-8038-0b56e0a0fa20" /&gt;</description>
      <comments>http://hal.lco.net/CommentView,guid,8087a11d-20f0-4a5f-8038-0b56e0a0fa20.aspx</comments>
      <category>Bookmarks;News</category>
    <feedburner:origLink>http://hal.lco.net/PermaLink,guid,8087a11d-20f0-4a5f-8038-0b56e0a0fa20.aspx</feedburner:origLink></item>
  </channel>
</rss>
