Asp.net mvc ASP.net Web API现在是ASP.net MVC 4的一部分吗?

Asp.net mvc ASP.net Web API现在是ASP.net MVC 4的一部分吗?,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,我有点困惑。我在路上学习ASP.NET MVC,CurrnLyin版本3。当我得知WebAPI是微软最新的Web技术,并问自己是否应该继续使用MVC时,我已经很恼火了 从我今天的研究中,我了解到WebAPI适用于需要纯基于Http的API的解决方案,这些API为浏览器以外的其他应用程序提供数据。而且它没有HTML呈现引擎。因此,对于必须呈现大量HTML页面的解决方案,MVC是不错的 我还读到了与MVC并行开发的WebAPI,它代表了MVC本身 今天不,当我第一次读到MVC4的一个新特性是WebA

我有点困惑。我在路上学习ASP.NET MVC,CurrnLyin版本3。当我得知WebAPI是微软最新的Web技术,并问自己是否应该继续使用MVC时,我已经很恼火了

从我今天的研究中,我了解到WebAPI适用于需要纯基于Http的API的解决方案,这些API为浏览器以外的其他应用程序提供数据。而且它没有HTML呈现引擎。因此,对于必须呈现大量HTML页面的解决方案,MVC是不错的

我还读到了与MVC并行开发的WebAPI,它代表了MVC本身

今天不,当我第一次读到MVC4的一个新特性是WebAPI时,我启动Visual Studio时:

Web API现在是MVC不可或缺的一部分吗?MVC控制器可以在同一应用程序中直接与Web API控制器混合使用吗?在一篇博文中,我读到,如果在一个项目中使用WebAPI和MVC,最终会产生重复的代码。还是这样吗

最好的
Thomas

Web API与MVC 4捆绑在一起。它可以单独使用,也可以与MVC结合使用。在集成方面有一些粗糙的边缘,但没有什么非常痛苦的。

ASP.NET Web API与ASP.NET MVC无关。该团队将ASP.NET Web API与ASP.NET MVC 4放在同一MSI安装程序中,这是一个错误。这是所有混乱开始的地方,但团队已经意识到了这种混乱

ASP.NET Web API独立存在,它甚至不直接依赖于
System.Web
。看看这篇文章:

答案是肯定的! WebAPI具有MVC设计模式中的“模型”和“控制器”。但“视野”在哪里

如果您创建一个新的WebAPI项目,visual studio将创建一个默认的HomeController,它是ASP.NET MVC标准控制器,并且它还将添加一个带有Index.cshtml视图的索引操作。 它的工作方式是这样的,这样您就可以托管WebAPI服务来测试它们。在WCF中,VisualStudio为此启动了WCF测试客户端

如果没有视图,那么如果不在IIS上托管服务,就无法测试我们的服务

WebAPI还使用相同的路由引擎和更多服务器端功能,如ASP.NET MVC。

ASP.NET MVC

public class TweetsController : Controller {
  // GET: /Tweets/
  [HttpGet]
  public ActionResult Index() {
    return Json(Twitter.GetTweets(), JsonRequestBehavior.AllowGet);
  }
}
ASP.NET Web API

public class TweetsController : ApiController {
  // GET: /Api/Tweets/
  public List<Tweet> Get() {
    return Twitter.GetTweets();
  }
}
公共类TweetsController:ApicController{
//获取:/Api/Tweets/
公共列表Get(){
返回Twitter.GetTweets();
}
}
代码来自于此

这两种技术有很多相似之处,例如为HTTP请求提供服务。最重要的区别在于:

  • MVC创建HTML视图
  • WebAPI具有内置的序列化功能

我读到MVC4的一个新特性是WebAPI
。这不是在回答你自己的问题吗也许标题应该反映出你不知道的一个子问题。(可以混合使用吗?)两个月前,除了ASP.net主页上的经典ASP.net之外,MVC和Web API还作为替代品显示在ASP.net主页上。我不确定“Web API与MVC 4捆绑在一起”是不是合适的词。