Home | Blog | Screencasts | Projects
# Saturday, March 07, 2009

A few weeks ago I posted about an issue that we were having with our Windows Server 2008 machines Blue Screening, at the time I thought it was related to VMWare ESX Server, it turns out that it was a bug with Windows Server 2008. Thanks to Thomas Vochten for the pointer.

See: http://support.microsoft.com/kb/962943

 

“FIX: You receive a Stop 0x0000007e error message on a blue screen when the AppPoolCredentials attribute is set to true and you use a domain account as the application pool identity in IIS 7.0”

Note This problem typically occurs on Web servers that host Office SharePoint Server 2007. This problem occurs because of the configuration requirements of Office SharePoint Server 2007 when Kerberos authentication is used. However, the problem may occur for any kind of Web site that is using Kernel Mode authentication, Kerberos authentication, and a domain account as the custom application pool identity.”

Saturday, March 07, 2009 9:03:41 AM (E. Australia Standard Time, UTC+10:00)  #    Comments [1] - Trackback
IIS 7 | Tip
# Thursday, March 05, 2009

I’ve worked with many ASP.NET developers who don’t really know much beyond the reach of their code. These are guys that work on top of IIS every day, but don’t really have much of an idea of some of the cool things it can do. IIS 7 is in my opinion the best web server platform around, it’s about time that all web developers took some time to learn more about the capabilities of the platform, a good way to start learning is to look at what other people (or companies) have done on the platform:

 

1. Integrated Pipeline

The integrated pipeline is the magic piece of the puzzle, it means that you can write managed code for all aspects of the request to IIS. Previously you would need to write ISAPI filters and extensions in something like C or C++, now you can write a module in c#. You could kind of get around this with previous versions of IIS, where you would map all requests to the ASP.NET ISAPI, with IIS7 this is no longer needed as a managed handler can be registered for all file types (in fact its possible to write a module that runs before a php script .. for example).

More information on managed handlers in IIS7 can be found here.

 

2. URL Rewrite (aka Mod_Rewrite)

 

The Apache web server has had Mod_Rewrite for years and it was always frustrating that IIS couldn’t match this feature. Until IIS7 the most common option for the rewriting of URL’s was to purchase a third party product such as Helicon’s ISAPI Rewrite, this changed in IIS 7 with the introduction of the IIS 7 Rewrite Module (x86 or x64).

There is a lot of valuable commentary around about the value of URL rewriting for things like Search Engine Optimisation and the ability to create ‘hackable’ URL’s or perhaps protecting your bandwidth, I don’t need to point this stuff out, every web developer should be able to understand the purpose and value of URL rewriting.

A good how-to on IIS 7 URL Rewriting can be found here.

 

3. Bit Rating Throttling Module

 

The Bit Rating Throttling module (x86 or x64) is essential for any web developer who is planning on delivering video via the web. The idea is simple, why send all the video down to the client when there is no guarantee that the client will watch all that content, wouldn’t it be better to send the first bit down fast and then slow down and progressively monitor and change the speed at which the user gets the data delivered. It doesn’t have to work with video either, you could use this module to slow down the speed of any content to certain users (maybe you have a photo site and unregistered users download stuff faster than registered ones).

A good place to start to find out more is here, also Hanselman gave this topic some coverage here.

 

4. Application Request Routing

 

The Application Request Routing feature of IIS7 (x86 or x64) might seem a little odd for the average web developer and sure it kind of borders between the realm of network engineer and software architect. This module is basically a fancy proxy, it can perform load balancing and all sorts of cool routing based on, well pretty much anything you want to define. It performs it’s routing based at the application level (as opposed to a firewall which is at the network level), it means that it can make routing decisions based on things like server variables and requested URL’s.

A good overview can be found here.

 

5. Dynamic IP Restriction Extension

 

Although still in beta, the IP restriction extension does exactly what you think it would do (and probably more). Things like blocking requests based on the number of requests they have made in a defined time period (see Jeff Atwood’s scenario). If your interested in protecting content from certain countries (like what Hulu does with it’s content) or if your just looking for some SPAM protection, you could do a lot worse than checking out the Dynamic IP Restriction Extension (x86, x64).

The best starting point is here.

Thursday, March 05, 2009 4:03:00 AM (E. Australia Standard Time, UTC+10:00)  #    Comments [0] - Trackback
IIS 7 | Tip
# Monday, October 20, 2008

Scott Hanselman recently posted about the IIS 7 Rewrite module and how easy it is to setup and use, he covers the topic extensively, I just wanted to point out that this tool will also work with SharePoint.

I was recently in a position where the marketing guys had decided that the URL should be the promotion name of the marketing campaign, but it was both impractical and impossible (the URL had to point to a survey) to create a page in SharePoint that would suit their needs. Since the site was running IIS 7 we used the IIS 7 Rewrite module.

For example:

Say the requested URL was:  http://server/marketing/promo/

But we needed to post to:  http://server/Lists/Marketing Survey 1/overview.aspx

 

The first step after installing the rewrite module is to create a ‘Rule with rewrite map’:

 

rule1

 

Then choose the rule action type, in this case it is a rewrite action, give it a meaningful name:

 

rule2

 

Then add the mapping (right click in the panel that gets opened after the last step), the Original value is the URL you want your users to navigate to:

 

rule3

 

That’s it your done, now you can browse to your URL and your users will end up in the correct location:

 

endresult

Monday, October 20, 2008 8:48:00 PM (E. Australia Standard Time, UTC+10:00)  #    Comments [0] - Trackback
IIS 7 | Sharepoint | Tip
Statistics
Total Posts: 190
This Year: 3
This Month: 0
This Week: 0
Comments: 38