Salve,sto cercando di impementare su di un sito mvc4 un apicontroller.
Il problema è che gia di default, appena creato il controller quindi, ottengo un 404 quando questo viene richiamato.

Nel global.asax ho questo codice:

codice:
protected void Application_Start()
        {
            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); ;
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AuthConfig.RegisterAuth();
         }
La classe webapi è quella standard:


codice:
public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

          }
    }
La classe controller invece è contenuta nella dir Controller/Api ed è una classe creata con il wizard:

codice:
namespace prova.Controllers.Api
{
    public class ContactController : ApiController
    {
        public ContactController()
        {
            Debug.Print("prova");
        }

        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        
        public string Get(int id)
        {
            return "value";
        }

        public void Post([FromBody]string value)
        {
            Debug.Print("Post([FromBody]string value)");
        }

        public void Put(int id, [FromBody]string value)
        {
            Debug.Print("Put(int id, [FromBody]string value)");
        }

        public void Delete(int id)
        {
            Debug.Print("Delete(int id)");
        }
    }
}
La url richiamata è : baseurl/api/Contact/5

ma ottengo 404.

Potete dirmi dove sto sbagliando?