โดยทั่วไปWeb APIคอนโทรลเลอร์เป็นMVCตัวควบคุมที่ใช้เป็นชนิดฐานของการตอบสนองของตนแทนHttpMessageResponse ActionResponseเหมือนกันในแง่อื่น ๆ ส่วนใหญ่ แตกต่างที่สำคัญระหว่างประเภทโครงการคือว่าMVC Applicationประเภทโครงการเพิ่มสิ่งที่เว็บที่เฉพาะเจาะจงเช่นเริ่มต้นCSS, JavaScriptไฟล์และทรัพยากรอื่น ๆ ที่จำเป็นสำหรับเว็บไซต์ที่ไม่จำเป็นสำหรับการ API
MVC ใช้สำหรับสร้างเว็บไซต์ ในกรณีนี้Controllersมักจะส่งคืนView(เช่นการตอบกลับ HTML) ไปยังคำขอของเบราว์เซอร์ ในทางกลับกัน Web API มักถูกสร้างขึ้นเพื่อให้แอปพลิเคชันอื่นใช้งานได้ หากคุณต้องการอนุญาตให้แอปพลิเคชันอื่นเข้าถึงข้อมูล / ฟังก์ชันของคุณคุณสามารถสร้าง Web API เพื่ออำนวยความสะดวกในการเข้าถึงนี้ ตัวอย่างเช่น Facebook มี API เพื่อให้นักพัฒนาแอพเข้าถึงข้อมูลเกี่ยวกับผู้ใช้โดยใช้แอพ Web API ไม่จำเป็นต้องมีไว้สำหรับการใช้งานสาธารณะ คุณยังสามารถสร้าง API เพื่อรองรับแอปพลิเคชันของคุณเองได้ ตัวอย่างเช่นเราสร้าง Web API เพื่อรองรับฟังก์ชัน AJAX ของเว็บไซต์ MVC ของเรา
Microsoft เปลี่ยนวิธีการนำเสนอเทมเพลตต่างๆ ตอนนี้แทนที่จะใช้เทมเพลตที่แตกต่างกันสำหรับโครงการประเภทต่างๆพวกเขาสนับสนุนให้นักพัฒนาผสมผสานเทคโนโลยี ASP.NET ภายในโครงการเดียวกันได้ตามต้องการ Microsoft เรียกสิ่งนี้vNextว่า
อัปเดต:สำหรับ ASP.NET Core นั้น Web API ได้ถูกรวมเข้ากับประเภทโครงการ MVC 6 และApiControllerคลาสจะรวมอยู่ในControllerคลาส รายละเอียดเพิ่มเติมที่: https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6