When you use a client application, such as a Web browser or a Microsoft ASP.NET application, to connect to a server that is running Microsoft Internet Information Services 6.0 (IIS), you may receive one or more of the following error messages:
Error message 1
The underlying connection was closed. An unexpected error occurred on a receive.
Error message 2
System.Net.WebException: The underlying connection was closed.
Error message 3
Exception Type: System.Net.Sockets.SocketException
ErrorCode: 10054
NativeErrorCode: 10054
Message: An existing connection was forcibly closed by the remote host.
This problem may also occur when the following conditions are true:
- You try to download files from a server that is running IIS 6.0 to a client computer that has a slow connection.
- You try to download very large files.
To confirm that this problem is related to the throughput timer, check the HttperrX.log file on the server that is running IIS for entries that contain a
Timer_MinBytesPerSecond error message that resembles the following:
2002-07-05 19:53:00 127.0.0.1 2894 127.0.0.1 80 HTTP/1.1 GET / 505 - Version_N/S 2002-07-05 20:06:01 172.31.77.6 64388 127.0.0.1 80 - - - - - Timer_MinBytesPerSecond
This problem occurs because of an error in the Http.sys file.
To resolve this problem, obtain the latest service pack for Microsoft Windows Server 2003. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
889100Â
(http://kbalertz.com/Feedback.aspx?kbNumber=889100/
)
How to obtain the latest service pack for Windows Server 2003
If this problem persists after you install the latest service pack for Windows Server 2003, the network connection may be too slow. Use a network trace to determine whether the client is delayed in receiving the response and the packet retransmissions. To work around this problem, reduce or disable the
MinFileBytesPerSec property in IIS 6.0 to prevent a slow client connection from being closed prematurely.
Confirm the MinFileBytesPerSec property value
To confirm the current setting, follow these steps:
- Click Start, click Run, type cmd, and then click OK.
- At the command prompt, type the following command, and then press ENTER:
cscript adsutil.vbs get w3svc/MinFileBytesPerSec
The current minimum bytes per second appears.
Reduce the MinFileBytesPerSec property value
To reduce the
MinFileBytesPerSec property to 50 bytes per second, follow these steps:
- Click Start, click Run, type cmd, and then click OK.
- At the command prompt, type the following command, and then press ENTER:
cscript adsutil.vbs set w3svc/MinFileBytesPerSec 50
Disable the MinFileBytesPerSec property
To disable the
MinFileBytesPerSec property, follow these steps:
- Click Start, click Run, type cmd, and then click OK.
- At the command prompt, type the following command, and then press ENTER:
cscript adsutil.vbs set w3svc/MinFileBytesPerSec 0
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
820729Â
(http://kbalertz.com/Feedback.aspx?kbNumber=820729/
)
Error logging in HTTP API
886461Â
(http://kbalertz.com/Feedback.aspx?kbNumber=886461/
)
FIX: You cannot download large files from an ASP.NET application on a computer that is running IIS 6.0