views:

333

answers:

1

I have an ASP.NET application running on two almost identical Virtual Windows Server 2003. The first one is my develop and test server. I have installed the .NET WebExtensions for Framework 2.0 there and the application runs well. Now I tried to publish the same application on a second server (lets call him the production server) and also installed the .NET WebExtensions there and compiling and database access runs as well as the complete APS.NET application. Except for calling the static PageMethods through JavaScript AJAX calls. I have used the developer tools of the IE8 to debug into the JavaScript and found that it works identically. Still, all calls of the WebMethods return and internal server error (error code 500) saying "Unknown web method index.php".

Does anybody know what might be wrong with the production server or which configuration need to be changed?

The main difference between the two servers is that the production server uses .NET .../Framework64/v2.0.50727/aspnet_isapi.dll, while the test server uses .../Framework/v2.0.50727/aspnet_isapi.dll.

Some more details:

  1. All PageMethods are static, return a string and have the WebMethod-Attribute.
  2. On both servers the JavaScript creates an XmlHttpRequest object using the resolved URL "http://myDomain/myPage.aspx/myWebMethod" and the "Content-Type"-Header "application/json charset="utf-8" and the bodies contain the correct JSON definition of the parameters for the PageMethods.
  3. Of course all ASPX-pages that use the AJAX PageMethods do have an ASPX-ScriptManager hving the EnablePageMethods-attribute set to "True".
+1  A: 

I have solved my problem. There was an ISAPI_ewrite on the production server configured to work globally on all websites. After I have changed that setup to website individual ISAPI_Rewrite for those websites that need to use that rewrite, the AJAX XmlHttpRequests work.

rs