IIS 7.0 RC1

As you might have already heard, Windows Vista RC1 was released late last week.  I've been running it on my primary machine the last few days and have been really impressed with it.  Zero crashes so far, and it is running really smoothly for me. 

The code in Vista that I've been very involved with is IIS 7.0 - which is a major update to the Microsoft web server platform, and brings tons of goodness.  Earlier this summer we launched the www.iis.net web-site, which you can visit to learn more about IIS7 and all the cool things you can do with it.  Bill Staples, who runs the IIS7 team, has recently written a good blog post about some of the cool changes/improvements that the team has done with the RC1 release.  One of the things he mentioned was some of the changes we recently made to the new Admin UI interface:

In my talk in Phoenix earlier today, I demoed some of the cool new things you can now do with the new Admin Tool.  A few I'll briefly mention here include:

1) You can now use the admin tool to create and manage any number of sites on a Windows Client machine.  You are no longer limited to a single site (note the three I've created above).  Likewise, there is no longer a 10 connection limit.

2) We've integrated the IIS and ASP.NET administration settings into a single admin tool.  So you can now view and set authentication and authorization rules in 1 place instead of multiple different dialogs.  This provides a much more consistent and clearer UI for admins, and a unified administration story for the web platform.

3) The admin tool uses the new distributed web.config configuration system.  IIS7 no longer has a single metabase configuration store, and instead uses the same web.config file model that ASP.NET supports to enable configuration settings to be stored and deployed with application content (meaning you can xcopy or FTP your settings with your application to your remote server - no need to write admin scripts to custom configure things anymore). 

4) The admin tool supports "delegated administration", which means hosting providers can enable customers to use the admin tool to remotely manage their shared hosting sites (in which case the admin tool obviously only shows the settings specific to the individual customer -- and not for the entire box).  We use HTTP based web-services internally to also support connections across firewalls (unlike the old IIS admin tool which uses DCOM which was often blocked).

5) The admin tool is written using .NET and Windows Forms, and is extensible.  This means you can add custom UI modules into the admin tool to provide administration support for your own HTTP runtime modules and configuration settings.

6) The admin tool provides built-in admin UI support for the ASP.NET 2.0 Membership and Role Management systems.  This means you can create and manage roles, users, and map users to roles all within the admin tool.  This will work against any Membership and Role Provider you build for ASP.NET 2.0 -- just implement the standard ASP.NET 2.0 Provider Contracts and you now have full admin UI support for them (even remotely in shared host environments!). 

For example, I could click on the .NET Roles icon above to create and manage the roles specific to my "SampleSite":

And then I could click on the .NET Users icon to create and manage my users, and map them into whatever roles I want for my application:

There are a ton of other goodies in IIS 7.0 we'll be blogging about in the future.  Visit the www.iis.net site and/or subscribe to its RSS feed to learn more today.

Hope this helps,

Scott

29 Comments

  • Scott, one question that I can't find an answer to - does new IIS support wildcard host headers?

    In Apache I can map *.mydomain.com to one website and *.myotherdomain.com to another website, even though they both run on SINGLE IP address. In IIS 6 it was, as far as I know, impossible. Now in Web 2.0 days it's a must-have feature - it allows for many smart url schemes impossible otherwise, and not everybody has access to a pool of IP addresses for all such websites.

  • Hi Michal,

    I believe you can actually do that with IIS6 today -- since it supports pretty flexible host header site mappings already.

    If you want to send me email directly (scottgu@microsoft.com) I can loop you in with some folks who would know for sure.

    Hope this helps,

    Scott

  • I haven't installed Vista on my primary machine yet, but I have been using it for a few months in VPC.

    IIS 7 really seems a nice upgrade to what we have now in XP/2003. Easier to config, much better interface...

  • This looks really nice. Must try to download the RC1 again at once.

  • IIS7 is the feature I am most looking forward to in Vista. However, it feels like a tease, since IIS 7 really WONT be available when Vista is released - since there still wont be a server platform. Developers can take advantage of IIS 7 on their new Vista workstations, but there will be nowhere to deploy them. I haven't heard any release dates for Longhorn server, but I would be surprised if it was earlier than very late in 07.

    Any chance of IIS 7 being made available for Win2K3 in the near term?

    Or is the removal of the single site/10 connections limit in the client IIS7 a subtle hint that maybe we should consider deploying our apps on Vista client computers?

  • Now I'm confused. I thought we would have to wait for Windows Server "Longhorn" before running the released version of IIS7.

    So we will have a new fantastic IIS, but can only run it on a client OS such as Vista? Weird. Or will there be an install for Windows Server 2003?

    Maybe I'm missing something here...:)

  • Scott, I am pretty sure you are correct that this is supported in IIS 6 today. The only thing is there are some limitations of what can be done via the IIS6 admin UI. Never assume that just because the admin UI doesnt allow something that it is not possible.

    I know for one of our apps, we had to map *all* requests to a very specific directory into an ASP.NET 2 HttpHandler, which we were migrating away from Java and Apache to IIS 6. The directory structure was like domain.com/mysite/myapp
    and it needed to work for both of these without any redirects:
    a) domain.com/mysite/myapp
    b) domain.com/mysite/myapp/

    There was actually no way to do this via the UI, so I ended up using the IIS 6 XML metabase feature and editing the metabase XML. The other part was easy, as the corresponding HttpHandlers could easily be mapped within web.config (for ASP.NET).

    Almost anything is possible in terms of configuring IIS 6. It is just difficult, and thus we are all anxiously awaiting IIS 7, which will make this type of configuration so much simpler.

  • Hey Scott. Do you know if the IIS7 admin tool supports encypting of config sections? Or do we need to continue to do that from a command prompt?

  • Scott,

    a) Could you give us a loose update on when Longhorn Server (Windows Server 2007?) is due? Is it approximately the second half of the 2007 year, or the first half of 2008? If you could give us the quarter you are shooting for, that would be even better!

    Another interesting question: I believe Vista will be the first time a *substantially* better version of IIS will be available in Windows Client well before it is released on Windows Server. This leads to the obvious questions:

    b) If you are removing the site and connection limitations from Vista Client, is there any reason not to deploy a production site on Vista Client when it is released, while waiting for the server to be completed?

    Note: I am obviously aware of the different security profile of running server apps on the client os. I am also aware the Vista client would be considered less realiable, and not have a network stack optimised for server applications. But these factors considered, is there any reason not to run a real app on Vista client?

    c) Or would your recommentation to be run a beta of Longhorn Server along with a GoLive license?

    Note: While your team might prefer (c), many teams would be uncomfortable running beta software if it is a production app, even with a GoLive license.

    Just for my own 'experimentation', I am seriously considering paying for a dedicated hosting account running Windows Server 2003 along with Virtual Server. To use IIS 7, I could then run either Vista Client or a beta of Longhorn server for the first half of 2007 ;-)

    I would also note that *no one* would seriously run a production server app on Vista Client, after the release of Longhorn Server; so I dont see this scenario eating into your revenue. I more see it as a practical solution given IIS 7 will not work on Windows Server 2003, and given Vista Client will be out soon.

    I am interested in your feedback.
    David

  • IIS 7.0 is hugely exciting development.

    Of course, it begs the question: are we to use Vista in a large-scale production environment?

    j

  • Anybody know when RC1 is going to be available for MSDN subscribers?

  • A few people have asked about IIS7 timelines. Basically IIS7 ships in two places:

    Windows Vista Client
    Windows Longhorn Server

    Vista Client ships this year, while Windows Longhorn Server ships next year. So for a released server OS that includes II7 you'll unfortunately have to wait a few more months.

    The good news is that several hosters are offering IIS7 hosting already, and the list will continue to grow as Vista ships and LH Server enters the final beta. MaximumASP is actually offering a free IIS7 shared hosting account now: http://www.maximumasp.com/about/specials.aspx

    Hope this helps,

    Scott

  • Hi Scott,

    I signed up for the Customer Preview Program, and received a product key as well as downloaded Vista Beta 2.

    After navigating to the Vista website, I read that I was supposed to get an email early this month with download details.

    I have not yet received this email. Can you tell me how I can download it? I can provide passport details as well as my product key if needed.

    Thanks,
    Adam

  • Scott,

    Is there any way I could be looped in there too? I also thought this was NOT possible with IIS6 but would love to know how if it is!

    Thanks,

    Jeremy H.

  • Scott,
    I'm a little confused about the interim scenario while people are developing on Vista for deployment to Windows Server 2003: would the settings for an aplication which are currently stored in the metabase be stored in the ordinary Web.config file or a new config file created for this purpose?
    If the former, then presumably the Web.config would contain settings which are meaningless to ASP.NET on the W2K3 server running IIS 6...will such a file be parsed correctly and the extra bits ignored, or would it be necessary to strip them out before deployment?

    PS. When Longhorn Server eventually arrives, I think IIS 7 in itself would be enough to justify the upgrade. It's just too much of an improvement for any sane person to want to miss.

  • Hi Adam,

    If you want to send me email (scottgu@microsoft.com) I can try and figure out why you never got an email with the download link.

    Thanks,

    Scott

  • Hi Jeremy,

    It looks like Phil kindly uploaded a KB that shows how to-do the host mapping. Let me know if that answers it for you.

    Thanks,

    Scott

  • Hi Kevin,

    One of the things we did with ASP.NET 2.0 was to pre-register a web.config group section called . This is configured to be ignored by ASP.NET when running on non-IIS7 systems.

    We then put all IIS7 configuration data within this section -- which means it won't interfere with your app when it is running on non-IIS7 systems. You'll still need to register IIS settings either via a script or admin tool on IIS7 -- but with IIS7 you can xcopy the same web.config file and just have things work.

    Hope this helps,

    Scott

  • Hey Scott, That's "Using Host Headers with SSL-enabled Web Sites" I thought you said you could use wildcard host headers. So I could have a cost header of *.mysite.com which would catch all sub-domains of mysite.com. Is this possible in IIS6, if not is it in IIS7? Thanks! Jeremy H.

  • Great to see the new features of IIS 7.0

  • Hi Mike,

    Can you send me mail (scottgu@microsoft.com) describing your issues with VS 2005 and Vista more? I haven't had any problems connecting to IIS7 with Vista (nor the drive locking issue you mentioned). If you send me mail I can loop you in with a few folks who can help investigate.

    Thanks,

    Scott

  • Hi Scott,

    I have installed Vista RC1 as my primary machine. It's wonderful for developer and it's much faster when using IE7 than in W2K3.

    However, I encountered 2 problems.
    1. ISA client cannot be installed. As a result only IE can access Internet via proxy.
    2. SQL Express cannot be installed.

    I guess you may encounter the same problem and may have the solution.

    Many thanks,

    Kevin

  • Does IIS7 in RC1 not have FTP?

  • Hi Madkidd,

    FTP is an optional component in RC1. If you add it via the control panel it will be there.

    Hope this helps,

    Scott

  • the IIS 7.0 is so good it's more powerful than
    sun company 's products.

  • Everyone, if you like to know more about IIS 7 visit www.iis.net.

  • So, I finally got around to testing it and it turns out that IIS7 does NOT support wildcard host headers such as *.microsoft.com. I tried in both the GUI and the applicationHost.config.


    That's too bad. :(


    Jeremy H.

  • Hi Scott,

    Just back from tech-ed and thought id give vista a try.

    I have vista rc1 build 5600 and VS 2005. Im trying to setup wildcard file and folder mapping to the aspnet_isapi.dll. I had this working fine on IIS 5 and 6 running .Net 1.1 but am having issues in 7 running .Net 2.

    I have enabled IIS 6 compatibility and have added a script mapping, setting the path to * and the executable to the .Net 2 dll.

    I have a HttpModule in my site that catches all requests in the BeginRequest event. In here I check do some processing on the url, but if its a css of a js or txt file, then I dont do any processing and return.

    Everything works fine for folders and aspx files, but the other file types are still being directed through the HttpModule but are not being returned to the browser.

    Can you help, or point me in the direction of somebody who can.

    Cheers
    Richard

  • Hi Richard,

    Can you send me email with more details on the issues you are seeing? I can then loop in some folks from the IIS team to help.

    Thanks,

    Scott

Comments have been disabled for this content.