控制器(MVC)与 ApiController 和 BreezeController 以及 IHttpController 和之间有什么不同? ODataController ?
为什么
MVC
中有这么多控制器?哪一个是主控制器?我可以将所有控制器注入一个控制器吗?
答案 0 :(得分:2)
MVC Controller是一个通用控制器("主要"控制器)。
API Controller是一个特定于WebApi(" WebServices")项目的MVC控制器。
ODataController(这是一个ApiController)为OData控制器定义了一个基类,支持使用OData格式编写和读取数据。
IHttpController是一个有助于为自定义 HTTP控制器实现通用功能的界面。
我不知道是否存在" BreezeController"上课,但我认为this article可能会有所帮助。
没有必要注射"一个控制器到另一个。看一下article,它可能会有所帮助。
答案 1 :(得分:1)
Mvc控制器结构:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcDemo.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{return View();}
public ActionResult About()
{return View();}
}
}
1.找到适当的操作方法来调用并验证它是否可以被调用。 2.获取要用作操作方法参数的值。 3.处理在执行操作方法期间可能发生的所有错误。
答案 2 :(得分:0)
MVC控制器和API控制器都应该只包含" EndPoints"。 MVC控制器中的端点通常是用于HTML视图的ActionResult类型的方法,用于响应AJAX调用的JsonResult或用于返回状态指示符的简单字符串,而API控制器中的端点可以是通常以JSON格式表示的任何自定义类类型
任何http请求都会触及控制器内的指定端点方法,因此您可以将控制器视为类似于"虚拟目录"一个网站。
所有业务逻辑和数据处理都应在模型和业务逻辑层中实现。端点只是决定将请求定向到哪个进程,并返回Model进程生成的结果。
本文介绍了两者之间差异的更多细节: https://www.linkedin.com/pulse/webapi-vs-mvc-comparing-apples-oranges-yogi-grantz
答案 3 :(得分:0)
MVC Controller是一个通用控制器(“主”控制器)。
API Controller是一个特定于WebApi(“WebServices”)项目的MVC控制器。
ODataController(这是一个ApiController)为OData控制器定义了一个基类,支持使用OData格式编写和读取数据。
IHttpController是一个帮助实现自定义HTTP控制器常用功能的接口。
我不知道是否存在“BreezeController”类,但我认为这篇文章可能有所帮助。
无需将一个控制器“注入”另一个控制器。看看那篇文章,它可能有所帮助。