211

Every time I have to add a handler or module for ASP.NET with IIS7, the instructions always tell me to incorporate it into two sections: system.web and system.webserver.

<system.web>
    <httpHandlers>
    </httpHandlers>
    <httpModules>
    </httpModules>
</system.web>

And this:

<system.webServer>
    <modules>
    </modules>
    <handlers>
    </handlers>
</system.webServer>

What is the difference between these two sections?

In addition, if I don't add it to the system.web section, my Visual Studio 2008 debugger also doesn't work correctly.

1

2 Answers 2

168

The system.web section is for configuring IIS 6.0, while the system.webserver version is used to configure IIS 7.0. IIS 7.0 includes a new ASP.NET pipeline and some configuration differences, hence the extra config sections.

However...

If you're running IIS 7.0 in integrated mode only, you shouldn't need to add the handlers to both sections. Adding it to system.web as well is a fallback for IIS 7.0 operating in classic mode, unless I'm mistaken. I've not done extensive testing on this.

See http://msdn.microsoft.com/en-us/library/bb763179.aspx for more information.

Sign up to request clarification or add additional context in comments.

4 Comments

What about attributs like <httpRuntime> which are placed in system.web but still make a difference on IIS 7 Integrated mode?
The system.web section isn't superseded by the system.webserver section, just extended.
On IIS 8.5 I've found that the httpCookies setting is not available in system.webServer but works if I create a system.web and put it in there.
@Chris Hello, How do I set these options in linux ? I want to set following options. maxWorkerThreads = 100, maxIoThreads = "100", minWorkerThreads = "50", minIoThreads = "50".
47

The former is for Classic Mode.

The latter is for Integrated Pipeline Mode (available in IIS7+).

1 Comment

Given my experience, is this is a better answer in length, clarity and reality. In addition to classic mode on the former, add IIS express and other servers that are not IIS 7.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.