Rotas do ASP.NET MVC: Como definir uma rota personalizada

Procurei on-line por uma resposta a essa pergunta, mas sinceramente não consigo encontrar uma boa referência para rotas MVC.

Eu tenho um UserController para meus objetos de usuário. Pode-se editar, salvar, exibir etc. no usuário, portanto, eu tenho ações nesse controlador para lidar com cada uma delas. Tudo isso é bem direto. Mas eu criei recentemente um novo objeto UserProfile que também pode ser editado, exibido etc. Em vez de criar um controlador totalmente novo apenas para o UserProfile, eu gostaria de usar o UserController existente. Então, para visualizar o perfil de um usuário, eu gostaria que o URL fosse:

http://www.example.com/User/Profile/{userProfileID}

E para editar, eu gostaria que o URL fosse:

http://www.example.com/User/Profile/Edit/{userProfileID}

Cada uma dessas ações no UserController retornará uma página de exibição diferente.

Como eu definiria rotas para lidar com essa estrutura? Muito obrigado.

questionAnswers(1)

yourAnswerToTheQuestion