Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
68 views
in Technique[技术] by (71.8m points)

c# - ASP.NET MVC - WEB API inside area not found

I have 1 area that contains an API but I can't call it and I dont get why, here the codes:

Not in area: WebApiConfig

public static void Register(HttpConfiguration config)
{
    config.MapHttpAttributeRoutes();

    config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
    config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); //per convertire in .json
}

Global.asax:

protected void Application_Start()
{
     AreaRegistration.RegisterAllAreas();
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     BundleConfig.RegisterBundles(BundleTable.Bundles);
}

Then INSIDE the area there is the file named Tyre24AreaRegistration:

public class Tyre24AreaRegistration : AreaRegistration 
{
        public override string AreaName 
        {
            get 
            {
                return "Tyre24";
            }
        }

        public override void RegisterArea(AreaRegistrationContext context) 
        {
            context.MapRoute(
            "Download",
            "Tyre24/api/{controller}/{action}/{id}",
            new {controller = "Download", id = UrlParameter.Optional }
             ); //not working < 
            context.MapRoute(
                "Tyre24_default",
                "Tyre24/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
        }
}

View:

<div> @Html.ActionLink("DownloadExportTyres", "DownloadExportTyres", "Download", new { area = "Tyre24" }, null)</div>

Controller:

public class DownloadController : ApiController
    {
        [HttpGet]        
        public IHttpActionResult DownloadExportTyres()
        {
          ......
        }
    }

I actually tried many 'solutions' that were here in stackoverflow but none helped in this case

question from:https://stackoverflow.com/questions/65830967/asp-net-mvc-web-api-inside-area-not-found

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...