Trasa ASP.NET z dowolną liczbą par klucz-wartość - czy to możliwe?

Chciałbym obsługiwać takie adresy URL:

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

W tej chwili ustawiłem taką regułę:

/{id}/{*parameters}

Theparameters obiekt jest przekazywany jako pojedynczystring do wszystkich działań związanych z tworzeniem odpowiedzi. To działa, ale mam z tym kilka problemów:

Każda akcja musi rozwiązaćstring dla siebie. Oczywiście stworzyłem metodę rozszerzenia, która zmieniastring do aDictionary<string, string>, ale wolałbym, żeby mechanizm wysyłania dał moje metodyDictionary<string, string> bezpośrednio - lub jeszcze lepiej, rzeczywiste pary jako osobne argumenty.Linki akcji nadal będą dodawać parametry w tradycyjnym formacie (?Key1=Value1). Myślę, że mógłbym napisać wyspecjalizowanych pomocników z moim pożądanym formatem, ale wolałbym, żeby istniał sposób, aby istniejące przeciążenia były zgodne z powyższą regułą routingu.

Czy istnieje sposób na wykonanie powyższego?

questionAnswers(2)

yourAnswerToTheQuestion