Shamrez Iqbal
May 27, 2009
  7460
(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

Please login to comment.
Latest blogs
Graph access with only JS and Fetch

Postman is a popular tool for testing APIs. However, when testing an API like Optimizely Graph that I will be consuming in the front-end I prefer t...

Daniel Halse | Feb 4, 2026

Best Practices for Implementing Optimizely SaaS CMS: A Collective Wisdom Guide

This guide compiles collective insights and recommendations from Optimizely experts for implementing Optimizely SaaS CMS, focusing on achieving...

David Knipe | Feb 4, 2026 |

A day in the life of an Optimizely OMVP: Learning Optimizely Just Got Easier: Introducing the Optimizely Learning Centre

On the back of my last post about the Opti Graph Learning Centre, I am now happy to announce a revamped interactive learning platform that makes...

Graham Carr | Jan 31, 2026

Scheduled job for deleting content types and all related content

In my previous blog post which was about getting an overview of your sites content https://world.optimizely.com/blogs/Per-Nergard/Dates/2026/1/sche...

Per Nergård (MVP) | Jan 30, 2026