﻿<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>Mark Coffman</title>
	<updated>2010-07-29T18:24:15Z</updated>
	<id>http://markcoffman.com/atom.aspx</id>
	<link href="http://markcoffman.com/atom.aspx" rel="self" type="application/rss+xml" />
	<link href="http://markcoffman.com" rel="alternate" type="application/rss+xml" />
	<generator uri="http://app.onlinequickblog.com/" version="2.0">Quick Blogcast</generator>
	<entry>
		<title>DNN Setup Underway, metaPost installed, and WLPG tutorial in the works</title>
		<link rel="alternate" href="http://markcoffman.com/2008/09/16/dnn-setup-underway-metapost-installed-and-wlpg-tutorial-in-the-works.aspx?ref=rss" />
		<id>tag:markcoffman.com,2008-09-16:2851db11-ac98-42b1-897b-a8d3215841e5</id>
		<author>
			<name>Mark</name>
		</author>
		<updated>2008-09-16T17:03:12Z</updated>
		<published>2008-09-16T17:03:12Z</published>
		<content type="html">&lt;p&gt;Nights are different now.&amp;#160; I am hard at work each night updating the site and getting my tutorials posted.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://markcoffman.com/images/0/0/4/2/1/120363-112400/MVPLogo_2.gif"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="MVPLogo" src="http://markcoffman.com/images/0/0/4/2/1/120363-112400/MVPLogo_thumb.gif" width="119" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Get ready... your digital memories are going to be protected.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Custom Error Pages Except in a Sub Folder</title>
		<link rel="alternate" href="http://markcoffman.com/2008/08/13/custom-error-pages-except-in-a-sub-folder-2.aspx?ref=rss" />
		<id>tag:markcoffman.com,2008-08-13:dc98c586-e77f-4639-95e4-71c2189bc1c4</id>
		<author>
			<name>Mark</name>
		</author>
		<updated>2008-08-13T17:55:18Z</updated>
		<published>2008-08-13T17:55:18Z</published>
		<content type="html">&lt;p&gt;I tried all the complex ways to do something which turned out to be quite simple.&amp;#160; &lt;/p&gt;  &lt;p&gt;I had a need to show nice-looking custom error page in my asp.net application for all folders &lt;b&gt;except&lt;/b&gt; one.&amp;#160; That special folder needed to return a proper error code and not a 302 (redirect to a custom error page) status.&lt;/p&gt;  &lt;p&gt;While it was simple enough to make the custom error page set a Response.StatusCode = 500, I could tell with my Http Proxy sniffing tool Fiddler that the first code sent was the 302.&amp;#160; This wasn&amp;#8217;t good.&amp;#160; I had to be sure that if there was an error, that the requesting client got an error code, not a redirect code, and worse yet, a redirect to a 200 OK code.&lt;/p&gt;  &lt;p&gt;The solution was simple:&amp;#160; in my application&amp;#8217;s web.config, set a location-specific customErrors directive:&lt;/p&gt;  &lt;p&gt;&amp;#160; &amp;lt;location path=&amp;quot;specialFolder&amp;quot;&amp;gt;   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;system.web&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;customErrors defaultRedirect=&amp;quot;&amp;quot; mode=&amp;quot;RemoteOnly&amp;quot;&amp;gt;&amp;lt;/customErrors&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/system.web&amp;gt;    &lt;br /&gt;&amp;#160; &amp;lt;/location&amp;gt;&lt;/p&gt;  &lt;p&gt;The important part here is to specify a defaultRedirect=&amp;quot;&amp;quot;. This solved my issue, and is now good again.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Microsoft Please Fix Upgrade Option on Visual Studio 2008</title>
		<link rel="alternate" href="http://markcoffman.com/2008/06/17/microsoft-please-fix-upgrade-option-on-visual-studio-2008.aspx?ref=rss" />
		<id>tag:markcoffman.com,2008-06-17:49605204-4908-4cdc-8b24-6db4df85d13f</id>
		<author>
			<name>Mark</name>
		</author>
		<category term="Visual Studio 2008" />
		<updated>2008-06-17T13:38:00Z</updated>
		<published>2008-06-17T13:38:00Z</published>
		<content type="html">I installed the 90 day trial of VS2008 at work.&amp;nbsp; My trial period is almost up, so I figured I'd go ahead and Upgrade to the purchased product.&amp;nbsp; I was assured when I downloaded the trial that I would simply have to enter the key (not do a reinstall) when my trial was up.&lt;BR&gt;&lt;BR&gt;Well, I hit Upgrade.&amp;nbsp; I am not sure what is wrong with the Microsoft servers, but Upgrade sends me to a &lt;A href="http://msdn.microsoft.com/en-us/ms123402.aspx"&gt;Content Not Found page&lt;/A&gt; on msdn.mcirosoft.com.&lt;BR&gt;&lt;BR&gt;Strike one.&lt;BR&gt;&lt;BR&gt;I won't give up that easily.&amp;nbsp; The product is great even if the sales site needs work.&amp;nbsp; So I decided to try to buy it another way.&amp;nbsp; I called support.&amp;nbsp; They were very helpful, but all of their answers pointed me in directions that got physical media and not a key.&amp;nbsp; Keep in mind, my trial is running out.&amp;nbsp; I do have 3 days left, so I didn't wait until the last second, but what if I did?&amp;nbsp; Would I be forced to stop working until my physical media was shipped to me?&lt;BR&gt;&lt;BR&gt;Strike two.&lt;BR&gt;&lt;BR&gt;I am searching the site.&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Here is a product page for Visual Studio 2008 Professional Edition.&amp;nbsp; I see a Trial Download button.&amp;nbsp; Why not a Buy Now button?&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/en-us/vs2008/products/bb894671.aspx"&gt;http://msdn.microsoft.com/en-us/vs2008/products/bb894671.aspx&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;I clicked Download.&amp;nbsp; Here I have a paragraph that looks helpful:&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;
&lt;H2&gt;Upgrading from Trial Editions&lt;/H2&gt;
&lt;P&gt;When you are ready to upgrade from an installed trial edition of Visual Studio or Team Foundation Server (or the Workgroup Edition of Team Foundation Server), you don't have to completely uninstall and reinstall those products. For more information, see &lt;A id=ctl00_mainContentContainer_ctl03 onclick="javascript:Track('ctl00_mainContentContainer_ctl00|ctl00_mainContentContainer_ctl03',this);" href="http://msdn2.microsoft.com/en-us/library/ms246600(VS.80).aspx"&gt;How to: Upgrade from Visual Studio Trial Edition&lt;/A&gt; (a Visual Studio 2005 topic, but still accurate).&lt;BR&gt;&lt;/P&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Clicking that link gives me another potentially helpful page (although I see it is geared toward 2005, not 2008):&amp;nbsp; &lt;A id=ctl00_rs1_mainContentContainer_ctl01 onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl01',this);" href="http://msdn.microsoft.com/vstudio/howtobuy/"&gt;http://msdn.microsoft.com/vstudio/howtobuy/&lt;/A&gt;. &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Content not found.&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;Sigh.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;</content>
	</entry>
	<entry>
		<title>Linq Results for Paging in a Datagrid</title>
		<link rel="alternate" href="http://markcoffman.com/2008/05/27/linq-results-for-paging-in-a-datagrid.aspx?ref=rss" />
		<id>tag:markcoffman.com,2008-05-27:99cf036f-0241-4f19-ac58-202cf0d19472</id>
		<author>
			<name>Mark</name>
		</author>
		<category term="linq c# asp.net" />
		<updated>2008-05-27T18:03:00Z</updated>
		<published>2008-05-27T18:03:00Z</published>
		<content type="html">&lt;P&gt;Today I was using c#'s new Linq technology to query a list of objects.&amp;nbsp; To keep my test simple, I decided to try ordering my objects.&lt;BR&gt;&lt;BR&gt;My code look looked like this:&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;
&lt;P&gt;var&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; query = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; o &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; referrals &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;orderby&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; o.Email &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; o;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;I bound this to&amp;nbsp;a gridview.&amp;nbsp; Everything looked ok until runtime.&amp;nbsp; My datagrid complained:&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;The data source does not support server-side data paging. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;A quick google search revealed a post by Scott Guthrie.&amp;nbsp; I need to tell &lt;FONT size=2&gt;Linq &lt;/FONT&gt;that I wanted this list back in a form that the datagrid could page.&amp;nbsp; Modified:&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;var&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; query = (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; o &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; referrals &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;orderby&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; o.Email &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; o).ToList() ;&lt;BR&gt;&lt;BR&gt;This worked well, and gave me my referral list back, ordered by the Referral object's Email attribute.&amp;nbsp; Of course, this only scratches the surface of what Linq can do, as filtering or joining of that list would be better examples of the power of Linq.&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;</content>
	</entry>
	<entry>
		<title>Upgrading from VS2005 to VS2008</title>
		<link rel="alternate" href="http://markcoffman.com/2008/03/21/upgrading-from-vs2005-to-vs2008.aspx?ref=rss" />
		<id>tag:markcoffman.com,2008-03-21:fc37b8d4-ae6b-43e6-959b-f19ed3c8252b</id>
		<author>
			<name>Mark</name>
		</author>
		<category term=".NET" />
		<updated>2008-03-21T17:39:00Z</updated>
		<published>2008-03-21T17:39:00Z</published>
		<content type="html">&lt;SPAN&gt;I upgraded from VS2005 to VS2008 today.&amp;nbsp;&amp;nbsp;The first&amp;nbsp;server I publised to went off without a&amp;nbsp;hitch.&amp;nbsp; I'm glad, because that gave me confidence that VS2008 was&amp;nbsp;going to be a fairly easy upgrade.&lt;BR&gt;&lt;BR&gt;Prior to upgrading, I did some research and found that .NET 3.5 is really the .NET 2.0 core with some added referenced assemblies.&amp;nbsp; Because of that, IIS still gives only the two options of ASP.NET 1.1 or 2.0.&amp;nbsp; Knowing that going in probably saved a lot of time because my next publish &lt;STRONG&gt;to another server&lt;/STRONG&gt; revealed this issue:&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp; 
&lt;DIV style="BORDER-RIGHT: red 1px dotted; BORDER-TOP: red 1px dotted; BORDER-LEFT: red 1px dotted; BORDER-BOTTOM: red 1px dotted"&gt;
&lt;H2&gt;&lt;I&gt;Configuration Error&lt;/I&gt; &lt;/H2&gt;&lt;/SPAN&gt;&lt;FONT face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Description: &lt;/FONT&gt;&lt;/B&gt;An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. &lt;BR&gt;&lt;BR&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Parser Error Message: &lt;/FONT&gt;&lt;/B&gt;Child nodes not allowed.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Source Error:&lt;/FONT&gt;&lt;/B&gt; &lt;BR&gt;&lt;BR&gt;
&lt;TABLE width=600 bgColor=#ffffcc&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&lt;PRE&gt;Line 78: &amp;lt;compilers&amp;gt; Line 79: &amp;lt;compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"&amp;gt; &lt;FONT color=red&gt;Line 80: &amp;lt;providerOption name="CompilerVersion" value="v3.5"/&amp;gt; &lt;/FONT&gt;Line 81: &amp;lt;providerOption name="WarnAsError" value="false"/&amp;gt;&amp;lt;/compiler&amp;gt;&amp;lt;/compilers&amp;gt;&amp;lt;/system.codedom&amp;gt; Line 82: &amp;lt;runtime&amp;gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Source File: &lt;/FONT&gt;&lt;/B&gt;C:\Inetpub\devads.sundropsystems.com\web.config&lt;B&gt;&lt;FONT face=Verdana&gt; &amp;nbsp;&amp;nbsp; Line: &lt;/FONT&gt;&lt;/B&gt;80 &lt;BR&gt;&lt;BR&gt;
&lt;HR width="100%" color=silver SIZE=1&gt;
&lt;B&gt;&lt;FONT face=Verdana&gt;Version Information:&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;Microsoft .NET Framework Version:2.0.50727.832; ASP.NET Version:2.0.50727.832&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Luckily, the solution to this problem was easily found.&amp;nbsp; It turns out that my 2nd server had 2 updates to .NET waiting in Windows Update.&lt;BR&gt;&lt;BR&gt;KB110806 - .NET Framework 2.0 SP1&lt;BR&gt;KB929300&amp;nbsp;- .NET Framework 3.0 SP1&lt;BR&gt;&lt;BR&gt;These patches allow .NET to understand these child nodes: providerOption&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;</content>
	</entry>
</feed>