I am using RegisterRoutes(RouteCollection routes)
I have 3 types of files
what is working for me are
For .aspx
For .svc
For .ashx
But i was stuck with .ashx file and what worked for me is
RouteTable.Routes.Add(new Route("op/playx", new HttpHandlerRoute("~/media/play.ashx")));
For .asmx
I have 3 types of files
- .aspx
- .ashx
- .svc
- .asmx
what is working for me are
For .aspx
routes.MapPageRoute("Static home", "", "~/pages/home/default.aspx");
For .svc
WebServiceHostFactory factory = new WebServiceHostFactory();
RouteTable.Routes.Add(new ServiceRoute("op/api/v1.0", factory,
typeof(common.Getway))); // for service contact that defined in .svc.cs file
For .ashx
But i was stuck with .ashx file and what worked for me is
RouteTable.Routes.Add(new Route("op/playx", new HttpHandlerRoute("~/media/play.ashx")));
public class HttpHandlerRoute : IRouteHandler
{
private String _VirtualPath = null;
public HttpHandlerRoute(String virtualPath)
{
_VirtualPath = virtualPath;
}
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
IHttpHandler httpHandler = (IHttpHandler)System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(_VirtualPath, typeof(IHttpHandler));
return httpHandler;
}
}
For .asmx
RouteTable.Routes.Add(new Route("op/contacts", new ServiceRouteHandler("~/webservices/contact.asmx")));
public class ServiceRouteHandler : IRouteHandler
{
private readonly string _virtualPath;
private readonly System.Web.Services.Protocols.WebServiceHandlerFactory _handlerFactory = new System.Web.Services.Protocols.WebServiceHandlerFactory();
public ServiceRouteHandler(string virtualPath)
{
if (virtualPath == null)
throw new ArgumentNullException("virtualPath");
if (!virtualPath.StartsWith("~/"))
throw new ArgumentException("Virtual path must start with ~/", "virtualPath");
_virtualPath = virtualPath;
}
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
return _handlerFactory.GetHandler(HttpContext.Current, requestContext.HttpContext.Request.HttpMethod, _virtualPath, requestContext.HttpContext.Server.MapPath(_virtualPath));
}
}
Routing asmx, routing ashx, routing wcf, routing web form
