Microsoft KB Archive/244758

= 500-100.asp Returns "Type Mismatch" Error After Request.BinaryRead Method =

Article ID: 244758

Article Last Modified on 11/21/2006

-

APPLIES TO


 * Microsoft Internet Information Services 5.0

-



This article was previously published under Q244758



SYMPTOMS
When an ASP page that uses the Request.BinaryRead method generates an error and control is passed to the 500-100.asp error page, the following error is generated:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Server.HTMLEncode'

/iisHelp/common/500-100.asp, line ...



CAUSE
This error is generated because the POST information from the Request.BinaryRead method returns an array, whereas the Server.HTMLEncode method in the 500-100.asp page expects a string to be passed.



WORKAROUND
The default 500-100.asp error page can be modified to ignore errors by adding an "On Error" statement:   Open Windows Explorer.

Change folders to your %SystemRoot%\help\iishelp\common folder.

Open 500-100.asp in Notepad.

The top lines of the file should resemble the following: <%@ language="VBScript" %> <% Option Explicit

Const lngMaxFormBytes = 200 Change the top few lines to read the following: <%@ language="VBScript" %> <% Option Explicit On Error Resume Next

Const lngMaxFormBytes = 200   Change folders to your %SystemRoot%\help\iishelp\common folder.

Open 500-100.asp in Notepad.

The top lines of the file should resemble the following: <%@ language="VBScript" %> <% Option Explicit

Const lngMaxFormBytes = 200 Change the top few lines to read the following: <%@ language="VBScript" %> <% Option Explicit On Error Resume Next

Const lngMaxFormBytes = 200   Open 500-100.asp in Notepad.

The top lines of the file should resemble the following: <%@ language="VBScript" %> <% Option Explicit

Const lngMaxFormBytes = 200 Change the top few lines to read the following: <%@ language="VBScript" %> <% Option Explicit On Error Resume Next

Const lngMaxFormBytes = 200   The top lines of the file should resemble the following: <%@ language="VBScript" %> <% Option Explicit

Const lngMaxFormBytes = 200 Change the top few lines to read the following: <%@ language="VBScript" %> <% Option Explicit On Error Resume Next

Const lngMaxFormBytes = 200   Change the top few lines to read the following: <%@ language="VBScript" %> <% Option Explicit On Error Resume Next

Const lngMaxFormBytes = 200 

<div class="moreinformation_section">

MORE INFORMATION
The following steps reproduce this error on a server that is using the default, unmodified 500-100.asp error page:   Save the following code as ERRTEST1.ASP in the root directory of your Web site: Page 1 <form action="errtest2.asp" method="POST"> <input type="text" name="test"> </li>  Next, save the following code as ERRTEST2.ASP in the root directory of your Web site: <%@LANGUAGE="VBSCRIPT"%> Page 2 <% Dim vntPostedData, lngCount, lngError lngCount = Request.TotalBytes vntPostedData = Request.BinaryRead(lngCount) Response.Write "POST Size: " & lngCount lngError = 1/0 %>                   </li> Browsing page 1 and submitting information to page 2 should return an error message like the following:

Error Type: Microsoft VBScript runtime (0x800A000B) Division by zero /errtest2.asp, line 10

Browser Type: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Page: POST 9 bytes to /errtest2.asp

POST Data: Microsoft VBScript runtime error '800a000d' Type mismatch: 'Server.HTMLEncode' /iisHelp/common/500-100.asp, line 184

</li></ol>

Additional query words: iis

Keywords: kbpending kbprb KB244758

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.