RoutePrefix в веб-API не запускает контроллер - PullRequest
0 голосов
/ 10 июня 2018

Мне нужно запустить Index из контроллера перед открытием страницы, и это работало, но когда я добавил RoutePrefix, контроллер не захотел запускаться.Что нужно сделать, чтобы я мог запустить контроллер даже с RoutePrefix.

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services

        // Web API routes
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { controller = "main", id = RouteParameter.Optional }
        );
    }
}

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Main", action = "Index", id = UrlParameter.Optional }
        );
    }
}

[RoutePrefix("api/main")]
public class MainController : ApiController
{
    private static List<Korisnik> adminlist = new List<Korisnik>();
    private static List<Vozac> vozaclist = new List<Vozac>();
    private static List<Korisnik> korisniklist = new List<Korisnik>();

    [HttpGet, Route("")]
    public RedirectResult Index()
    {
        ReadFromXML(Enums.Uloga.Dispecer);
        var requestUri = Request.RequestUri;
        return Redirect(requestUri.AbsoluteUri + "Content/index.html");
    }
...