Roteamento ASP.NET com número arbitrário de pares de valores-chave - é possível?

Eu gostaria de lidar com URLs como este:

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

Agora, eu configurei uma regra como esta:

/{id}/{*parameters}

oparameters objeto é passado como um únicostring a todas as ações envolvidas na formação da resposta. Isso funciona, mas tenho alguns problemas com isso:

Cada ação deve resolver ostring&nbsp;por si. Eu, claro, fiz um método de extensão que transforma ostring&nbsp;para umDictionary<string, string>, mas eu preferiria que o mecanismo de envio desse aos meus métodos umDictionary<string, string>&nbsp;diretamente - ou, melhor ainda, os pares reais como argumentos separados.Os links de ação ainda adicionarão parâmetros usando o formato tradicional (?Key1=Value1). Eu acho que eu poderia escrever ajudantes especializados com o meu formato desejado, mas eu preferiria se houvesse uma maneira de fazer as sobrecargas existentes seguirem a regra de roteamento acima.

Existe uma maneira de fazer o acima?