Mapeo de URL con C # HttpListener

En el siguiente código, estoy esperando cualquier llamada al puerto 8080.

<code>static void Main()
{
  HttpListener listener = new HttpListener();
  listener.Prefixes.Add("http://*:8080/");
  listener.Start();
  while(isRunning)
  {
     HttpListenerContext ctx = listener.GetContext();
     new Thread(new Worker(ctx).ProcessRequest).Start();
  }
}
</code>

¿Es posible asignar patrones de URL específicos a diferentes comportamientos? Quiero lograr un servidor de estilo REST, es decir, una llamada alocalhost: 8080 / persona / 1 lanzará getPersonHandler (int)

<code>[Mapping("*:8080/person/$id")]
public void getPersonHandler(int id){...}
</code>

losMapping la sintaxis es solo mi propia analogía con las bibliotecas JAX-RS que conozco. Me gustaría hacer lo mismo en C # (escritorio C #, no asp)

Respuestas a la pregunta(2)

Su respuesta a la pregunta