1.1 什么是ASP.NET / WebAPI / MVC?|C/S开发框架
1.1 ASP.NET WebAPIASP.NET Web API 是一种基于Web应用程序接口的框架(API是Application Programming Interface的缩写),用于轻松构建基于HTTP协议支持多种跨平台客户端(包括浏览器和移动设备)访问的服务端程序。 ASP.NET Web API 是一种用于在 .NET Framework 平台上构建Web应用程序服务器的理想平台。具有良好的接口封装以及跨平台客户端存取数据等优点,统一使用JSON或XML数据格式,在智能移动客户端或手机APP软件产品领域占用巨大市场。 1.2 服务端 (Server Side)服务端Web API是一个编程接口,由一个或多个公开暴露的端点(Endpoints或API接口)组成,通过定义Request-Response(请求-响应)消息系统的机制进行通信,消息格式通常使用JSON或XML,通过HTTP协议访问Web服务器。 1.3 端点 (Endpoints)端点是与服务器端Web API进行交互的非常重要的环节,端点指定了可以被第三方软件通过HTTP请求访问的URI地址。端点必须是静态的,如果网络资源的位置(URI)经常发生变化,与其交互的软件功能将无法正常访问,之前编写的软件功能将会中断和失效。由于API提供者希望更新他们的Web API提供更多的服务或升级产品,因此许多开发者引入了版本控制系统,最简单有效的方式是通过URI格式进行控制。例如URI:https://api.csframewotk.com/v1/tag/,URI的“/ v1 /”部分指定访问Web API的第一个版本,如果要更新到第二个版本,只需要把v1改成v2,这样同时支持使用第一个版本的客户端软件。 1.4 MVC简介MVC全名是Model View Controller,既模型(Model)、视图(View)、控制器(Controller)的缩写,是一种软件设计典范。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 MVC 是一种创建Web应用程序的模式:
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。MVC 分层有助于管理复杂的应用程序,例如,可以在不依赖业务逻辑的情况下专注于视图设计,同时也让应用程序的测试更加容易。MVC 分层同时也简化了分组开发,不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。 1.5 MVC与WebApiMVC的主要使用场景在于Web站点的开发,后端实现了一套完整的MVC开发框架,能提供简便的页面开发,默认使用Razor视图引擎,提供了后端html构造,用户可以方便地开发出Web站点。 WebAPI主要提供了一套RestfulAPI的开发框架,提供了较为完整的HTTP语义支持,主要用来做开放API,更抽象,更不注重View的生成。 在使用上区分MVC与WebAPI, MVC主要用于构建Web站点,WebAPI主要用于构建HTTP服务。自身实现上区分的话,两种框架主要是在Asp .Net的基础上进行改造,主要是针对HttpModule和HttpHandler做了扩展,实现方法是不一样的,比如说前者更像是在一层上建了第二层,引伸出更强大的路由机制,实现了诸如MvcHandler和ControllerFactory这种消息处理和后台控制器方法选择机制,Web Api除了扩展了前者以外,另外写出了一套独立的基于ASP.NET的消息处理管道,就像是借鉴原来房子的模型,重新设计出了另外一套别墅。这也很好地解释了为什么Web Api可以寄宿在不同的宿主上(寄宿的本质就是利用一个具体的应用程序为Web Api提供一个运行的环境,并解决请求的接收和响应的回复),如IIS Hosting、Self Hosting或Windows服务Hosting方式,与WCF承载是相似的。而MVC只能寄宿于IIS上(不考虑.NET Core),它们两者虽然都有Controller和Action,但是请求的实现和响应的回复机制也是不同的,比如说Web Api处理消息有两个核心类是HttpRequestMessage和HttpResponseMessage。这两种框架最多只能说是模式上类似,实现上还是有很大差别的。不过两者都是Asp .Net的组成成员,图上表现得很清楚了。 技术归集 ASP.NET+MVC+WebApi+OWin+WebAPI三种承载方式 扫一扫加作者微信
参考文档:
ASP.NET Core中使用滑动窗口限流-C/S开发框架 ASP.NET Web API入门介绍(一)-C/S开发框架 ASP.NET MVC快速入门(一)-C/S开发框架 C# 搭建一个简单的WebApi项目,c# webapi-C/S开发框架 客户端测试程序(CS.WebApi.Tester)| CSFramework.WebApi后端框架|C/S开发框架 客户管理 (Customer , 基础资料数据维护) | CSFramework.WebApi后端框架|C/S开发框架 测试DoController控制器 | CSFramework.WebApi后端框架|C/S开发框架 演示数据库 | CSFramework_WebAPITest|C/S开发框架 SystemController – 系统管理控制器 | CSFramework.WebApi后端框架|C/S开发框架 FileController – 文件管理控制器 | CSFramework.WebApi后端框架|C/S开发框架 CSFramework.WebApi后端框架提供两种接口调用方式|C/S开发框架 CSFramework.WebApi后端开发框架服务器宿主承载方式|C/S开发框架 ORM模型介绍(ORM Model)| CSFramework.WebApi服务端框架|C/S开发框架 CSFramework.WebApi系统安全保障机制|C/S开发框架 CSFramework.WebApi客户端请求流程图|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |