WWW Service Registry Entries

Applies To: Windows Server 2003, Windows Server 2003 with SP1

In addition to Service-Specific Registry Entries, the World Wide Web Publishing Service (WWW service) maintains the following entries.

Important

For a registry change to take effect, you must restart the service that is affected by the change. For global changes to take effect, you must restart all services.

EnableTraceMethod

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

Data Type: REG_DWORD

Default Value: 0 (disabled)

Range: 0 - 1

Determines whether IIS recognizes the HTTP TRACE method. The TRACE method is used to invoke a remote, application-layer loop-back of a request message. TRACE allows a client to see what is being received at the other end of the request chain and use that data for testing and debugging information.

ImportantImportant
Do not leave EnableTraceMethod enabled on a production system, as it can reveal back-end server address information to a malicious user.
LogErrorRequests

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

Data Type: REG_DWORD

Default Value: 1 (enabled)

Range: 0 - 1

Determines whether to record failed activities in the log file. A value of 1 logs failed activities, and a value of 0 turns it off.

LogSuccessfulRequests

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

Data Type: REG_DWORD

Default Value: 1 (enabled)

Range: 0 - 1

Determines whether to record successful activities in the log file. A value of 1 logs successful activities, and a value of 0 turns it off.

MaxConcurrentCgisExecuting

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

Data Type: REG_DWORD

Default Value: 256

Range: 0 - 4294967295

Determines the maximum number of concurrent CGIs allowed to run on the system. Additional CGI requests will be queued and then processed when the number of processing requests falls below the number set in this registry key.

SSIEnableCmdDirective

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

Data Type: REG_DWORD

Default Value: 0 (disabled)

Range: 0 - 1

To execute shell commands, the #exec cmd directive of server-side includes is used. Security-conscious sites may want to disable the #exec cmd directive when untrusted parties are allowed to place files on the server by setting SSIEnableCmdDirective to 0 as an added security precaution. SSIEnableCmdDirective does not exist in the registry by default; to allow the #exec cmd directive to execute shell commands, you must first create SSIEnableCmdDirective and set it to 1.

TryExceptDisable

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

Data Type: REG_DWORD

Default Value: 0 (disabled)

Range: 0 - 1

Disables exception caching when calling the HttpExtensionproc of an Internet Server API (ISAPI) application. Setting TryExceptDisable to 1 results in any exception that is caused by a misbehaving ISAPI application to stop the server, but it allows developers to do just-in-time debugging. Therefore, you should set TryExceptDisable to 1 only to debug ISAPI applications.

UploadReadAhead

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

Data Type: REG_DWORD

Default Value: 48KB

Range: 0 - 0x80000000

When a client posts data to the server, some data is read by the server and some by the application. UploadReadAhead sets the amount of data the server will read before passing control to the application. The application is then responsible for reading the rest of the data. If you increase this size, you should increase the amount of RAM on the server.

UsePoolThreadForCGI

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters

Data Type: REG_DWORD

Default Value: 1 (enabled)

Range: 0 - 1

IIS, by default, uses a server pool thread to do Common Gateway Interface (CGI) processing. This means that CGI requests that take an extended period of time can consume a server pool thread.

UseSharedWPDesktop

Registry Path: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters

Data Type: REG_DWORD

Default Value: 0

Range: 0 - 1

If you are setting up your application pools with unique identities, then depending on the applications and memory resources on your server, you will reach a limit of about 60 application pools. There are finite limits of some system resources that get allocated with each new logon session. This means that 60 processes can run concurrently as distinct accounts. IIS 6.0 supports running these processes in a single shared workstation and desktop, at a cost of sharing a single encapsulation of a user session among all parties. To scale beyond 60 application pools and to share a single desktop, change the UseSharedWPDesktop to a DWORD value of 1. After changing this registry key, you should be able to scale to hundreds of application pools and hundreds of concurrently running worker processes.