Caution when stopping and starting an IIS application pool with appcmd

When starting and stopping IIS 7 application pools from command line with appcmd.exe, you should be aware of a behavior that can sometimes lead to unintended circumstances. To explain it, lets first review what happens when you stop an application pool with the InetMgr.exe tool: 1) Set the autoStart property of the <applicationPool> configuration element to … [Read more…]

Brief History of Web Uploads

The upload support in the Microsoft web platform has come quite a long way since the early days of IIS. Unfortunately, a number of remaining limitations have made it difficult to offer a quality upload experience, especially for high-traffic sites. As more and more websites rely on user generated content, and in general storing data … [Read more…]

LeanServer needs a rockstar .NET Developer in the Philadelphia area

Things have been pretty hectic.  Although I haven’t blogged about this much, I’ve been working on LeanServer, a new company I started last year.  LeanServer is a technical expert in scalability and performance for very large web sites, with multiple technologies and tools aimed at making these sites scale and significantly reduce operational costs.  This is … [Read more…]

Troubleshooting performance counter problems with PerfMon and a debugger

Performance counters are a wonderful tool when it comes to quickly assessing system health and performance of Windows subsystems.  In addition to learning much about the operation of Microsoft products, exposing performance counters from your own code can be extremely valuable for the very same reasons.  We do this a lot for LeanServer code – … [Read more…]

Workaround for using IIS 7 url authorization with ASP.NET roles

When using the IIS 7.0 Integrated pipeline, you gain access to a ton of cool scenarios where IIS and ASP.NET features work together to provide value for your application – regardless of the application content. Most of these features involve using ASP.NET features (e.g.Forms Authentication) to provide their services for non-ASP.NET content.  These have been … [Read more…]

Analyzing server power consumption and costs

Server power consumption is rapidly becoming a hot topic in the IT industry.  For many data centers, the cost of powering servers has become a top budget item.  In fact, in 2008, the average cost of power used by a server exceeded its purchase price (1). Nationally, the EPA estimated data center electricity consumption to … [Read more…]

IIS 7.0 Url Rewriter gotchas when importing mod_rewrite rules

One of the best things to happen to IIS 7.0 recently is the release of Url Rewriter, the IIS 7.0 url rewriting equivalent to Apache’s mod_rewrite. To ease the process of migrating Apache apps (notably PHP applications that rely on mod_rewrite rules for SEF / friendly urls), the Url Rewriter IIS Manager snapin includes an … [Read more…]

IIS 7.0 Forms Authentication and Embedded Media Players

One of the useful benefits of IIS 7.0 and the ASP.NET Integrated mode is the ability to protect all content using ASP.NET Forms Authentication.  In the past, people would often protect the application pages themselves, and leave images and media content open for public access.  It wasn’t easy to extend the same internet-based authentication scheme … [Read more…]

When to restart IIS when making changes to your application

Knowing when to restart IIS to pick up various types of changes to your application has traditionally been a challenge. IIS and ASP.NET are both stateful software systems, which heavily rely on cached state that is loaded once to provide high performance.  They also recognize the downside of being stateful – having to refresh the … [Read more…]

Leverage the Top 10 Performance Improvements in IIS 7.0

This month, TechNet Magazine published my article about the top IIS 7.0 features you can use to unlock the performance potential of your web server.  You can read it at Top 10 Performance Improvements in IIS 7.0. IIS 7.0 improves on the already solid performance of its predecessor in quite a few places. However, this … [Read more…]