ImageCodecInfo: Encoder and Decoder information
If you’ve ever been curious about the GDI+
encoders and decoders available on your system, you can call ImageCodecInfo.GetImageEncoders()
and ImageCodecInfo.GetImageDecoders()
, respectively, to find out more:
Free ZIP Code Database (data provided by PopularData.com)
PopularData.com provides a free list of U.S. ZIP codes in CSV format on their Web site. I have taken the liberty of using that data to generate a SQL script that will create a [ZipCode]
table in your SQL Server 2005
database and populate it with over 42k unique U.S. ZIP codes. Schema details can be found on this page.
"HTTP Error 401.1 - Unauthorized" when using Windows Authentication on IIS7.5
You may have run into this error while trying to develop a site that uses Integrated Windows Authentication
on Windows Server 2008 R2
with IIS7.5
. I sure did, and I beat my head against the wall for a couple of hours trying to figure it out.
GraffitiCMS 1.2 export utility
Enumerating HttpModules
One common ASP.NET performance tip is to remove any HttpModule
s that your application does not use. You can take a peek at which modules are loaded by the framework on your behalf by examining the framework’s Web.config
file, but how do you find out which modules are actually loaded in the current context?
HttpValueCollection.ToString() generates your nice query strings
In an ASP.NET page, if you call Request.QueryString.ToString()
, you’ll get a nicely formatted query string back, like this:
|
|
“That’s nice,” I thought. “I wonder how they implemented it. I’ll fire up Reflector and take a look.”
Response.Redirect and the ThreadAbortException, and why it’s a good thing
A couple of months ago, I ran into a problem where I was seeing a bunch of ThreadAbortExceptions
showing up in my logs. It didn’t take long to track down why – I was calling Response.Redirect
from within a try/catch
block in my ASP.NET code-behind page, and the catch block was catching the ThreadAbortException
and writing it out to the log. But why was the ThreadAbortException
being generated?