Cómo usar Control.GetRouteUrl de una clase en App_Code

Estoy usando el enrutamiento en asp.net web forms 4.0 con cierto éxito. En mis páginas estoy usando Page.GetRouteURL para generar rutas como esta.

<a href = '<%=GetRouteUrl("MyRoute", new {MyFirstRouteValue = "ABC", MySecondRouteValue=123}) #>' >Link Text</a>

Esto funciona perfectamente bien, pero he descubierto que hay momentos en los que necesito tener esta funcionalidad en una clase en app_code. Podría construir manualmente la ruta con String.Format, pero eso es un poco descuidado ya que duplicaría el código en Global.asax que define las rutas.

Por supuesto, no hay ningún objeto Page en una clase en App_Code, por lo que no puedo llamar a GetRouteUrl. Mirando hacia arriba en ladocs en msdn Veo algo que parece útil.

Este método se proporciona para facilitar la codificación. Es equivalente a llamar al método RouteCollection.GetVirtualPath (RequestContext, String, RouteValueDictionary).

Así que seguí los documentos aesta págin que establece que System.Web.Routing.GetVirtualPath () requiere un objeto System.Web.Routing.RequestContext. Sé sobre el objeto HttpContext, pero no puedo entender qué es un RequestContext. ¿Alguien tuvo suerte con esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta