public void ProcessRequest(HttpContext context) { long id; string redirectUrl = null; if (long.TryParse(context.Request.Url.Segments.Last <string>(), out id)) { if (context.Request.RawUrl.Contains("community")) { redirectUrl = this.GetCommunityDetailsUrl(id); } else if (context.Request.RawUrl.Contains("service")) { redirectUrl = this.GetServiceDetailsUrl(id); } else { redirectUrl = this.GetCommunityDetailsUrl(id); if (string.IsNullOrWhiteSpace(redirectUrl)) { redirectUrl = this.GetServiceDetailsUrl(id); } } } if (!string.IsNullOrWhiteSpace(redirectUrl)) { context.Response.RedirectPermanent(redirectUrl); return; } IController controller = ControllerBuilder.get_Current().GetControllerFactory().CreateController(context.Request.RequestContext, "Base"); RouteData errorRoute = new RouteData(); errorRoute.Values.Add("controller", "Base"); errorRoute.Values.Add("action", "NotFound"); controller.Execute(new RequestContext(context.Request.RequestContext.HttpContext, errorRoute)); }