I've had a little time today playing around with IIS 7 on Vista, and there are a couple of problems that took some time to get around to get an application to run. If you're trying out IIS with your ASP.NET applications this might help you.

 

#1

The default installation sets up AppPools under NETWORK SERVICE, but NETWORK SERVICE is not added the Temporary ASP.NET directory in the .NET framework path. This causes ASP.NET to fail out right complaining that an invalid directory name is used.

 

Actually this may not be the whole of it as I tried adding NETWORK SERVICE to the permission set and adding it file full access rights. Still doesn't work. Ultimately I had to change the AppPool to run under Local System and then the app started running.

 

I'm not sure what else could be the problem with NETWORK SERVICE, but it works with SYSTEM. Obviously this is not a secure solution but it works for now. In any case the default installation apparently doesn't have enough permissions to run ASP.NET apps (much like .NET 1.0 did).

 

#2

It looks like the ASP.NET State Service is nowhere to be found. I installed IIS using default options, but no state service. I went back to Windows Component to install under IIS but I see nothing that explicitly installs this service.

 

At this point I had to switch back to InProc, which is fine for testing.

  

It's taken a few false starts to get even this far. At this point I have several apps running both in ISAPI pipeline (IIS 6 mode) or in the integrated pipeline (IIS 7 mode) and the 3 apps I threw at it were running fine. In addition I also installed a Web Connection ISAPI application on the server and that ran fine as well at least in ISAPI mode. However, in either of these cases the configuration applications did not work as it looks like ADSI configuration is either not there at all or disabled in this build.

 

Now I can actually play around with the new features of the integrated pipeline. The most interesting thing to me at least is the low level HTTP Module integration that allows .NET components to handle all traffic directed at the server. There are a couple of interesting things I want to try including throwing Web Connection into this area and replacing the truly hideous ISAPI/COM code that drives that particular engine.

 

One of the more visual changes for IIS 7 is the new management tool which replaces the MMC interface. I was looking forward to this, because as far as I'm concerned the MMC has produced nothing but horrible interfaces. The new management tool looks a lot nicer and more importantly is a lot more snappy.

 

 

Unfortunately it's a mess to use at this point. The interface is horribly busy and there are way too many options the various pages with names that are not real clear. The console mixes both IIS and ASP.NET settings which I think is part of the reason for this confusing interface as there are terminology overlaps. While there are grouping options it seems that you end up hunting around a lot for finding the right options. As bad as the IIS 6/5 MMMC interfaces were, the way they grouped the various choices together seemed reasonably logical and well organized and you get to most places with a couple of clicks.

 

Here the choices seem scattered about in inconsistent ways in many places. One good example, is the basic properties dialog which is not accessible through the main list but sits of on the side and context menu only. But these options are accessible only in the top level view, not when you're furtherdown.

 

I'm sure it's not easy to build an interface for this many options, but I think what's really needed is much better grouping of options. Some high level overview that has a manageable number of options on it into which you can drill down later.