views:

298

answers:

4

What all IIS features in regards to maintain application/optimization should an .NET (ASP.NET) architect or team lead should be aware of?

LIST of features

  1. HTTP Compression. This option significantly improves bandwidth utilization and application performs much faster.
  2. Load Balancing (chris-lively)
  3. Sessions (chris-lively) Different options for Session and reasons for / against its usage
  4. Application Pools (chris-lively)
  5. Security (chris-lively) How to break in and how to defend against it.

EDIT: Changed question to wiki. It would be better to put together all these at one place.

+1  A: 

Another one is:

IIS is highly tuned for short-term HTTP requests and does not welcome any background processing.

Vitaliy Liptchinsky
You can do background processing fine in IIS. In ASP.NET just start a new background thread, let the page return and the background thread will continue to process until it completes.
Paul Mendoza
Of course you can do it. But during application pool recycling IIS takes care only about request threads - it waits until all they finish execution and only then unloads application domain.
Vitaliy Liptchinsky
+9  A: 

They should understand (in no particular order)

  • web gardens
  • application pools
  • Different options for Session and reasons for / against its usage.
  • Browser inconsistencies with form request size (particularly safari)
  • Load balancing
  • Use of secondary servers for static content (images, css, etc)
  • Browser inconsistencies around cookie handling
  • Performance monitoring deployed applications

If you need proper google/search engine support

  • URL Rewriting
  • The types of Redirects

And the Number 1 thing EVERY web architect should understand

  • Security. How to break in and how to defend against it.

If they don't know security then I wouldn't hire them. It is too serious a subject to learn on the job; everything else can be acquired pretty quickly.

Chris Lively
Along with security should be domain authentication, user accounts, system accounts, application pool identities, anonymous authentication, impersonation...
ck
@ck: Absolutely. That can be a mine field if they don't know what they are doing.
Chris Lively
+1  A: 

Application pools. In IIS 7, there is full ASP.NET integration if you use the default application pool. This means that all items served (HTML, images, CSS, everything) goes through the ASP.NET pipeline, providing authentication, filtering through HTTP modules, etc. The alternative is the "classic" ASP.NET application pool, where only ASP.NET types go through the ASP.NET pipeline.

Video streaming - IIS 7 can be enhanced for video streaming in conjunction with Silverlight. This provides streaming and compression that is best suited for a user's connection, and reduces load considerably.

Cylon Cat
+2  A: 

Do you really mean just IIS features or do you mean IIS with ASP.NET? If you are considering ASP.NET, then for performance optimizations, I would add:

  • Knowledge of the various caching options
  • Knowledge of Viewstate and the potential issues
Tuzo
Yes. Actually my question was for IIS tweaks related to ASP.NET appliations.
noob.spt