Я пытаюсь сделать демонстрационный проект в .net Framework Web API. Я создаю контроллер по умолчанию, который работает правильно, и теперь создаю внешний контроллер из новой библиотеки классов, но я не могу получить к нему доступ.
Вот код из контроллера по умолчанию, который работает
public class TestController : ApiController
{
// GET: api/Test
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
здесь код для внешнего контроллера из библиотеки классов
public class ExternalController : ApiController
{
[HttpGet]
public string Get()
{
return "Hello from external controller";
}
}
Wepapiconfig
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 { id = RouteParameter.Optional }
);
}
}
и global.asax
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
Также я добавляю ссылку на библиотеку классов в основной проект и помещаю ControllerBuilder.Current.DefaultNamespaces.Add ("....."); но все равно не работает.