Ruta ASP.NET con un número arbitrario de pares clave-valor, ¿es posible?

Me gustaría manejar URL como esta:

/Id/Key1/Value1/Key2/Value2/Key3/Value3/

En este momento, he establecido una regla como esta:

/{id}/{*parameters}

losparameters objeto se pasa como un solostring A todas las acciones que intervienen en la formación de la respuesta. Esto funciona, pero tengo algunos problemas con esto:

Cada acción debe resolver elstring por sí mismo. Por supuesto, he hecho un método de extensión que convierte elstring a unDictionary<string, string>, pero preferiría que el mecanismo de envío diera a mis métodos unaDictionary<string, string> directamente, o, mejor aún, los pares reales como argumentos separados.Los enlaces de acción seguirán agregando parámetros utilizando el formato tradicional (?Key1=Value1). Supongo que podría escribir ayudantes especializados con el formato deseado, pero lo preferiría si hubiera una manera de hacer que las sobrecargas existentes sigan la regla de enrutamiento anterior.

¿Hay alguna manera de hacer lo anterior?

Respuestas a la pregunta(2)

Su respuesta a la pregunta