Web API Denetleyicileri, yalnızca MVC uygulamalarında değil, herhangi bir ASP.NET Uygulamasında oluşturulabilir ve barındırılabilir. Bu nedenle, bir Web API oluşturmanın açık bir nedeni, bir MVC ön ucunuz yoksa (örneğin şirketiniz / kuruluşunuz tarafından barındırılan klasik, RESTful web hizmetleri).
MVC Denetleyicileri genellikle MVC Framework'e güvenir, varsayılan şablonlara ve topluluk ve akranlarınız tarafından yapılan çalışmaların çoğuna bakarsanız, neredeyse tüm MVC Denetleyicilerinin Görünüm göz önünde bulundurularak uygulandığını fark edeceksiniz.
Şahsen, bir View () ile yanıt vermek istediğimde MVC Denetleyicileri kullanıyorum ve belirli bir görünüme bağımlı olmayan herhangi bir şey için bir Web API kullanacağım.
Elbette uyarılar var, ancak genel olarak, MVC'nin Model Bağlama davranışına ihtiyacınız yoksa, hizmetiniz veri merkezli ve işlemler Veri merkezli (örneğin CRUD işlemleri) ise, muhtemelen bir 'Web API Denetleyicisi 'Model-Görünüm Kontrolörü' yerine. Tersine, işlemleriniz Görüntüleme merkezli ise (örneğin, kullanıcıya bir kullanıcı yönetici sayfası iletme) veya 'ajax kısmi' (çok düşük bir olasılıkla) oluşturmak için MVC'nin Model Bağlaması'na ihtiyacınız varsa, bunun yerine bir MVC Denetleyicisi istersiniz.
Şahsen, JSON tabanlı RESTful istemcilerini sürmek için Web API denetleyicilerini kullanıyorum, SPA'nın temel tarayıcı yönlendirmesini ve dağıtımını işlemek için MVC denetleyicilerini kullanıyorum.