¿Cómo puedo resolver una ruta virtual a un archivo en una ruta, adecuada para el navegador, desde un controlador genérico .ashx?ASP.NET: ¿Cómo obtener la ruta virtual de un archivo desde un controlador genérico?
p. Ej. Quiero convertir:
~/asp/ClockState.aspx
en
/NextAllowed/asp/ClockState.aspx
Si yo fuera un formulario Web Page
, que podría llamar ResolveUrl
:
Page.ResolveUrl("~/asp/ClockState.aspx")
el que resuelve:
/NextAllowed/asp/ClockState.aspx
Pero no soy una página de WebForm, soy un controlador genérico. Ya sabes, que IHttpHandler
objeto con todo tipo de cosas inyectada:
public class ResetClock : IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
//[process stuff]
//Redirect client
context.Response.Redirect("~/asp/ClockState.aspx", true);
}
public bool IsReusable { get { return false; } }
}
pensé que había intentado simplemente 'Response.Redirect (...)' y no tuvo en cuenta la carpeta virtual. Pero tanto 'VirtualPathUtility' como' 'Redirect' funcionan. +1 aceptado. –