- Additional internal server-side requests are issued to serve the requested resource. The requested resource is eventually served to the client as expected.
- The web service processing fails and the application returns an error to the client, or other similar unexpected behavior occurs.
When the initial request URL is issued by the client to the server, it is in a form similar to /MyWebService.asmx/SomeDataForTheService. When the .NET Framework 4.0 is installed on the server along with Windows 7 SP1, this type of URL is first received and processed by the ASP.NET 4.0 extensionless URL handling logic before the requested web service has a chance to process the request. The result of this order of operations can include the behavior listed in the Symptoms section of this article.
Install the .NET Framework 4 GDR Update from the following location:
Update for Microsoft .NET Framework 4
To work around this problem without installing the above update, reorder the handlers in the applicationHost.config file so that all three .NET 4.0 extensionless URL handler definitions are near the bottom of the handler mappings section. Below is an example of the bottom of the reordered handler mappings section with the extensionless URL definitions moved to the bottom of the section. Note that the example below uses new handler names for the extensionless URL handler entries. When you move the handler entries in your own applicationHost.config file, you should subsequently rename the handlers using the names shown below – e.g. "ExtensionlessUrlHandler-ISAPI-4.0_32bit", "ExtensionlessUrlHandler-ISAPI-4.0_64bit", and "ExtensionlessUrlHandler-Integrated-4.0".
IMPORTANT: This configuration sample is illustrated for example purposes only and is not meant to be copy and pasted into your configuration file. It does not contain the entire handlers section of a standard configuration file but instead shows just the pertinent information described in this article. Always backup your configuration files before making any changes.
<handlers accessPolicy="Read, Script">
< [...unrelated handler mappings...] />
<add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />
<add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />
<add name="ExtensionlessUrl-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule"
<add name="ExtensionlessUrl-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule"
<add name="ExtensionlessUrl-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler"
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"
resourceType="Either" requireAccess="Read" />
Article ID: 2520479 - Last Review: Mar 23, 2011 - Revision: 1