asp.net routing asmx

Asp.net url routing traps asmx web service call



(1)

Tengo un proyecto Asp.Net 4.0 Web Forms que usa enrutamiento url para direcciones URL fáciles de usar, es decir, oculta páginas aspx detrás de URLs de texto sin formato.

En este proyecto, tenemos un servicio web de asmx que sirve algunos controles jQuery en las páginas. Hasta ahora todo ha funcionado bien en las máquinas de desarrollo y en el sitio de prueba interno, pero ahora cuando instalamos el proyecto en un sitio de producción, las llamadas a asmx quedan atrapadas por el código de enrutamiento.

Tenemos una ruta catch all que se agrega al último que muestra la página Not found.

Cuando abro el servicio web en el servidor (http: //localhost/service.asmx? Op = MyWebMethod), introduzco algunos valores y hago clic en Invocar para obtener la página No encontrado. La URL que Invoke abre es http: //localhost/service.asmx/MyWebMethod, por lo que es bastante lógico (service.asmx parece un directorio) pero no entiendo cómo puede funcionar en todas las demás instalaciones del mismo proyecto.

El servidor de producción es Windows 2008 Server R2 Standard, el proyecto es Asp.net 4.0 y no he registrado ningún StopRoutingHandler para archivos asmx.

Los archivos web.config son idénticos entre el sitio de prueba interno y el sitio de producción y los archivos machine.config no se han tocado hasta donde sé.


routes.Add(new Route("{resource}.asmx/{*pathInfo}", new StopRoutingHandler()));