user2915962
user2915962

Reputation: 2711

WebApiConfig error in Global.asax

Please have a look at my Global.asax, i put the "problem" in caps. When I try to build, I get "The name 'WebApiConfig' does not exist in the current context

What am I missing, I´ve added the nuget Microsoft.AspNet.WebApi.WebHost

using SportsStore.WebUI.Infrastructure;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
namespace SportsStore.WebUI
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WEBAPICONFIG.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            ControllerBuilder.Current.SetControllerFactory(new
            NinjectControllerFactory());
        }
    }
}

Upvotes: 5

Views: 9766

Answers (1)

Rob Kraft
Rob Kraft

Reputation: 226

The WebApiConfig class is normally created under App_Start if you choose to add Web API references when creating a new ASP.NET web app in visual studio.

Manually add the class if it's not present:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {

        // Web API routes
        config.MapHttpAttributeRoutes();

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

        var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
        jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    }
}

Upvotes: 6

Related Questions