Shamrez Iqbal
May 27, 2009
visibility 7703
star star star star star
(0 votes)

Making Asp.net Ajax services and IIS6/CMS5/(2003) work.

In the process of migrating a site I encountered a strange problem with asp.net ajax services.

As you all probably are aware - there are two common approaches for running ajax in asp.net.

  • UpdatePanel
  • Webservices callable from javascript

When the latter approach is used, the methods and class have to be decorated with the ScriptService and ScriptMethod attributes.

This in turn makes it possible to access the javascript-version of the services by accessing example.asmx/js or example.asmx/jsdebug. In the CMS5 site I got 404s when trying to access those Urls for a service.

After some testing and trying I found a solution.

CMS5 sites are – at least in IIS6 – configured with a wildcard application mapping handler. Having this handler one should assume that everything is caught and handled by this. But not so for the /js and /jsdebug urls.

The solution was to add an explicit handler for asmx pointing to the isapi-dll which is used in the wildcard part.

I would like to add a screenshot for this but it didn’t work publishing images to the blog so I’ll have to explain manually and perhaps conform to WCAG :-)

 

screenie

this can be done from the “Home Directory”-tab in site properties. Press the Configure button and add a new mapping there with extension .asmx.

Most likely the cause of this is a bug in the wildcard application mapping system.

May 27, 2009

Comments

error Please login to comment.
Latest blogs
Composition Over Inheritance: Why Your Content Contract Is Not a Base Class

Inside the structural conformance pattern in SaaS CMS — from server-side inheritance to pipeline governance. A contract in Optimizely SaaS CMS is...

Vipin Banka | Sep 19, 2026

Optimizely Opti ID Integration: Why the API Key Was Missing from the DXP Management Portal

While working on an Optimizely CMS 12 Opti ID integration recently, we ran into an issue that initially appeared to be related to SSO authenticatio...

Madhu | Sep 18, 2026 |

Extending a Contract: What You Can Override

Contracts share fields across content types — but not every field setting can be overridden. Push the same contract onto several components, and CM...

Chirag Khanna | Sep 18, 2026 |

Building a Blazor Server UI Inside the Optimizely CMS 13 Admin Shell

What I learned shipping a Blazor Server UI inside Optimizely CMS 13 — Razor components in a NuGet package, the Blazor hub next to MapContent(),...

Stanisław Szołkowski | Sep 17, 2026 |