Ответ 1
Проблема в том, что я не могу назвать контроллеры web-api такими же, как мои существующие контроллеры.
У вас могут быть контроллеры API с тем же именем, что и существующие контроллеры. Просто поставьте их в другое пространство имен, чтобы сделать компилятор счастливым.
Пример:
namespace MyAppName.Controllers
{
public class ProductsController: Controller
{
public ActionResult Index()
{
var products = productsRepository.GetProducts();
return View(products);
}
}
}
и контроллер API:
namespace MyAppName.Controllers.Api
{
public class ProductsController: ApiController
{
public IEnumerable<Product> Get()
{
return productsRepository.GetProducts();
}
}
}
а затем у вас есть: /products
и /api/products
соответственно для работы.