1.1 什么是ASP.NET / WebAPI / MVC?

WebApi后端开发框架

CSFramework.WebApi服务端开发框架   WebApi后台框架  WebApi框架 原创软件@csframework.com

 

APP服务端应用
微信小程序后台
WEB服务端
企业公众号
支付系统后台
系统对接
WinForm服务端
JSON数据对接

1.1 ASP.NET WebAPI

ASP.NET Web API 是一种基于Web应用程序接口的框架(APIApplication Programming Interface的缩写),用于轻松构建基于HTTP协议支持多种跨平台客户端(包括浏览器和移动设备)访问的服务端程序。 

ASP.NET Web API 是一种用于在 .NET Framework 平台上构建Web应用程序服务器的理想平台。具有良好的接口封装以及跨平台客户端存取数据等优点,统一使用JSONXML数据格式,在智能移动客户端或手机APP软件产品领域占用巨大市场。 

 

1.2 服务端 (Server Side)

服务端Web API是一个编程接口,由一个或多个公开暴露的端点(EndpointsAPI接口)组成,通过定义Request-Response(请求-响应)消息系统的机制进行通信,消息格式通常使用JSONXML,通过HTTP协议访问Web服务器。

 

1.3 端点 (Endpoints)

端点是与服务器端Web API进行交互的非常重要的环节,端点指定了可以被第三方软件通过HTTP请求访问的URI地址。端点必须是静态的,如果网络资源的位置(URI)经常发生变化,与其交互的软件功能将无法正常访问,之前编写的软件功能将会中断和失效。由于API提供者希望更新他们的Web API提供更多的服务或升级产品,因此许多开发者引入了版本控制系统,最简单有效的方式是通过URI格式进行控制。例如URIhttps://api.csframewotk.com/v1/tag/URI的“/ v1 /”部分指定访问Web API的第一个版本,如果要更新到第二个版本,只需要把v1改成v2,这样同时支持使用第一个版本的客户端软件。

 

1.4 MVC简介

MVC全名是Model View Controller,既模型(Model)、视图(View)、控制器(Controller)的缩写,是一种软件设计典范。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

MVC 是一种创建Web应用程序的模式:

  • Model(模型)表示应用程序核心部分,对应数据库的记录列表,用于处理应用程序数据逻辑的部分。
  • View(视图)用于显示数据。是应用程序中处理数据显示的部分,通常视图是依据数据模型创建的。
  • Controller(控制器)控制器负责从视图读取数据,控制用户输入,最终将数据持久化到数据库。

MVC 模式同时提供了对 HTMLCSS JavaScript 的完全控制。MVC 分层有助于管理复杂的应用程序,例如,可以在不依赖业务逻辑的情况下专注于视图设计,同时也让应用程序的测试更加容易。MVC 分层同时也简化了分组开发,不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

 

1.5 MVCWebApi

MVC的主要使用场景在于Web站点的开发,后端实现了一套完整的MVC开发框架,能提供简便的页面开发,默认使用Razor视图引擎,提供了后端html构造,用户可以方便地开发出Web站点。

WebAPI主要提供了一套RestfulAPI的开发框架,提供了较为完整的HTTP语义支持,主要用来做开放API,更抽象,更不注重View的生成。

在使用上区分MVCWebAPIMVC主要用于构建Web站点,WebAPI主要用于构建HTTP服务。自身实现上区分的话,两种框架主要是在Asp .Net的基础上进行改造,主要是针对HttpModuleHttpHandler做了扩展,实现方法是不一样的,比如说前者更像是在一层上建了第二层,引伸出更强大的路由机制,实现了诸如MvcHandlerControllerFactory这种消息处理和后台控制器方法选择机制,Web Api除了扩展了前者以外,另外写出了一套独立的基于ASP.NET的消息处理管道,就像是借鉴原来房子的模型,重新设计出了另外一套别墅。这也很好地解释了为什么Web Api可以寄宿在不同的宿主上(寄宿的本质就是利用一个具体的应用程序为Web Api提供一个运行的环境,并解决请求的接收和响应的回复),如IIS HostingSelf HostingWindows服务Hosting方式,与WCF承载是相似的。而MVC只能寄宿于IIS上(不考虑.NET Core),它们两者虽然都有ControllerAction,但是请求的实现和响应的回复机制也是不同的,比如说Web Api处理消息有两个核心类是HttpRequestMessageHttpResponseMessage。这两种框架最多只能说是模式上类似,实现上还是有很大差别的。不过两者都是Asp .Net的组成成员,图上表现得很清楚了。

 

  技术归集

ASP.NET+MVC+WebApi+OWin+WebAPI三种承载方式

 

C/S框架网|原创精神.创造价值.打造精品

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:没有了
发表评论

评论内容
昵称:
关联文章

1.1 什么ASP.NET / WebAPI / MVC?
什么ASP.NET WebApi控制器(APIController)?
什么Web Api? ASP.NET Web Api体系架构
ASP.NET MVC中几种常用的ActionResult详解
C#.NET MVC WebApi后台开发框架入门完整版下载
什么WebService?
Asp.Net开源服务端框架,WebApi后端框架标准版
C# ASP.NET WebApi服务器搭建详解 - 自承载(Self Hosting)
C# ASP.NET WebApi服务器搭建详解 - IIS服务承载(IIS Hosting IIS宿主)
什么Winform框架?
C# ASP.NET WebApi服务器搭建详解 - Win服务承载(Windows Service Hosting宿主)
什么VWDPort? (Virtual WebService Dynamic Port)
WebApi,ASP.NET 发布Web应用报错:未能获得项目引用“”的依赖项
什么工作流引擎?
CS框架什么
WebApi快速开发框架,C# ASP.NET后端开发平台
什么ORM?
Asp.Net SignalR介绍
什么软件架构?
什么基于C#.Net平台的开发框架?