WebApi架构详解,WebApi接口搭建与部署WebApi服务器

本文关键词:WebApi架构, WebApi接口搭建, WebApi部署

1. Api是什么?

API(Application Programming Interface,应用程序编程接口)是一些预先定义的接口,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

操作系统想了一个很好的办法,它预先把这些复杂的操作写在一个函数里面,编译成一个组件(一般是动态链接库),随操作系统一起发布,并配上说明文档,程序员只需要简单地调用这些函数就可以完成复杂的工作,让编程变得简单有趣。这些封装好的函数,就叫做API(Application Programming Interface),即应用程序编程接口。

说的更加通俗一点,别人写好的代码,或者编译好的程序,提供给你使用, 就叫做API。你使用了别人代码(或者程序)中的某个函数、类、对象,就叫做使用了某个API。

2. WebApi是什么?

Web: 网页。

Api: 接口,应用程序编程接口,开发人员封装的属性和方法。

WebAPI: 提供给不同客户端(跨平台客户端)调用网页的应用程序编程接口。

Web API,一般指基于HTTP协议的编程接口,接口一般定义为HTTP或HTTPS:请求方法、请求路径、参数、响应数据格式、响应HTTP Code等。至于HTTP Server,可以用Java、.Net、Nodejs等各种框架实现,Http Server属于Web API的实现,有时候也会指Web Service接口(目前越来越少见)。

3. 为什么要用WebAPI?

Web API最重要的是可以构建面向各种客户端的服务。另外与WCF REST Service不同在于,Web API利用Http协议的各个方面来表达服务,例如:URI/Request/Response Header/Caching/Versioning/Content Format,因此就省掉很多配置。

4. WebAPI功能简介

支持基于Http Verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操作

通过不同的http动作表达不同的含义,这样就不需要暴露多个API来支持这些基本操作。

请求的回复通过Http Status Code表达不同含义,并且客户端可以通过Accept Header来与服务器协商格式,例如你希望服务器返回JSON格式还是XML格式。

请求的回复格式支持 JSON,XML,并且可以扩展添加其他格式。WebApi服务器支持Self-Hosting、IIS Hosting以及Windows Service Hosting三种承载(宿主)方式。

支持大多数MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。

5. WebAPI接口搭建三种承载(Hosting)方式

三、C# ASP.NET WebApi服务器搭建详解 - Win服务承载(Windows Service Hosting宿主)

6. WebAPI服务器部署,Self Hosting + IIS服务 + Win服务

6.1 部署Self Hosting WebApi服务

将CSFramework.WebAPI.Demo.SelfHosting项目设为启动项目,直接运行即可。

CSFramework.WebAPI.Demo.SelfHosting项目是个可以直接运行的控制台应用程序。

6.2 部署IIS承载的WebApi服务

在CSFramework.WebAPI.Demo.IISHosting项目点右键【发布】,弹出发布Web对话框,Publish method 选择【File System】文件系统。

发布文件到一个目录,将目录文件部署到IIS服务器,参考下文。

6.3 部署Windows服务承载的WebApi服务器

在debug目录下建立一个用于安装win服务的批处理命令程序,如:_安装服务.bat,以管理员身份运行即可安装。

_安装服务.bat

dos command:

path c:\windows\system32;

path %SystemRoot%\Microsoft.NET\Framework\v4.0.30319;

echo "开始卸载服务***************************"

installutil.exe /u %~d0%~p0CSFramework.WebAPI.Demo.WinServiceHosting.exe

echo "开始安装服务**************************"

installutil.exe %~d0%~p0CSFramework.WebAPI.Demo.WinServiceHosting.exe

echo "设置服务自动启动*********************"

sc config CSFramework.WebAPI.Demo.WinServiceHosting start= auto

Net Start CSFramework.WebAPI.Demo.WinServiceHosting

pause;

//来源:C/S框架网(www.csframework.com) QQ:23404761

安装完成,打开Windows服务管理器,查看服务状态。

参考:C# ASP.NET WebApi服务器搭建详解 - Win服务承载(Windows Service Hosting宿主)

.NET WebApi开发框架|MVC框架|后端框架|服务端框架-标准版V1.0

 适用开发:快速构建支持多种客户端的服务端程序,支持APP、B/S、C/S跨平台移动终端等。

 运行平台:Windows + .NET Framework 4.5

 开发工具:Visual Studio 2015+,C#语言

 数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql)

7. CSFramework.WebAPI服务端开发框架专业版V1.0 《体系架构图》

CSFramework.WebApi封装多个通用功能,为搭建Web服务端软件提供强大的技术支持。

客户端请求以命令形式传递到服务端的API接口,命令也就是请求的数据包,包含有请求编号、数据签名以及提交的业务数据。服务端接收到请求,首先要进行数据格式分析以及安全检查,比如数据签名、用户令牌或用户账号信息等。检查通过后,系统自动将请求传递到命令处理处理程序,系统将拒绝非法请求,抛出异常或返回错误回应信息给客户端。

命令处理层即业务逻辑层,主要负责数据校验和提取业务数据,将Request的数据(JSON或XML)文本内容转换为实体对象,最后传递到数据访问层提交到数据库。

数据访问层是整个逻辑处理的最后一个流程,负责将数据模型持久化到数据库。数据层使用开发框架内置的数据更新机制,根据表结构模型自动生成SQL脚本,无论是提交单条或批量数据,无需手工编写SQL脚本,系统自动实现数据的持久化。框架支持其他数据模型,如Entity Framework等。

8. CSFramework.WebAPI服务端开发框架成功案例

扫一扫加微信:

服务器和网页接口,WebApi架构详解,WebApi接口搭建与部署WebApi服务器相关推荐

  1. 支付接口教程,详解支付宝接口(二)

    支付宝的接口向来集成过程都让人觉得比较舒服,只有APP支付相对复杂,但也只是配置上复杂一些,只要清楚原理相信也不是什么难事.下面是以前介绍双钥加密原理的传送门: 支付接口教程特别篇,公钥与私钥,双钥加 ...

  2. 服务器概念、组成和架构详解

    目录 前言: 1.服务器是什么? 2.服务器的构成? 3.服务器的分类? 4.X86/ARM之争? 一.服务器是什么? 二. 服务器的构成? 2.1 服务器的逻辑架构 2.2 服务器的硬件 2.3 服 ...

  3. c# WebApi之接口返回类型详解

    c# WebApi之接口返回类型详解 https://blog.csdn.net/lwpoor123/article/details/78644998 转载于:https://www.cnblogs. ...

  4. Nginx 架构详解

    Nginx 架构详解 nginx的下篇将会更加深入的介绍nginx的实现原理.上一章,我们了解到了如何设计一个高性能服务器,那这一章将会开始讲解,nginx是如何一步一步实现高性能服务器的. Ngin ...

  5. 大型分布式架构详解:架构模式+敏捷性+可扩展+案例等

    大型分布式架构详解:架构模式+敏捷性+可扩展+案例等 本篇是大型分布式网站架构的技术总结篇. 主要对大型分布式架构中涉及的架构模式.高性能.高可用.可伸缩.敏捷性.可扩展等技术点进行简要总结,对大型分 ...

  6. 揭开面纱:Kubernetes架构详解

    [编者的话] 本文介绍了Kubernetes中的主要组件和各个组件的工作模式. 入门导论:Kubernetes组件和组件之间如何协同工作 本文讲的是揭开面纱:Kubernetes架构详解如果你正在实现 ...

  7. 高并发高流量网站架构详解

    (推荐)高并发高流量网站架构详解 Web2.0的兴起,掀起了互联网新一轮的网络创业大潮.以用户为导 向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也极大的方便了上网的人 ...

  8. java调用webservice_笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解...

    原标题:笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解 Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构.集群架构.分布式架构.SOA架构和微服务架构.下 ...

  9. C#_三层(BLL DAL Model)架构详解

    C#_三层架构详解 三层架构: 表现层(UI).业务逻辑层(BLL).数据访问层(DAL)再加上实体类库(Model) 表现层(UI):一般都是窗体的设计或者网页的设计,是可以一眼就可以看到的界面. ...

最新文章

  1. 好玩的东西,测试一下
  2. AngularJS内置指令
  3. TF-IDF与余弦相似性的应用
  4. 南京信息工程大学c语言真题,南京信息工程大学C语言试题库.doc
  5. HttpServlet概述及应用
  6. 苯(Benzene)
  7. Hadoop如何迎击大数据分析的挑战
  8. OSPF邻接关系建立
  9. 多渠道打包中优雅的配置渠道签名
  10. html文字阴影效果图,CSS3 -- 文字阴影(text-shadow)
  11. SpringCloud分布式开发理解
  12. 微信小程序时间格式在IOS苹果手机上不识别
  13. css 剪辑图片_css剪裁GIF背景图片动画特效
  14. 面部识别科普(刷脸支付)
  15. 服务器c盘空间不够解决
  16. 详解坐标变换矩阵 - 绕 x 轴旋转的旋转矩阵
  17. VBA之正则表达式(3)-- 特殊公式计算
  18. i春秋CTF训练 Web 破译
  19. Revit二次开发之双事件:空闲事件与DocumentChanged事件
  20. 个人比较喜欢的flash小游戏

热门文章

  1. redis-发布与订阅
  2. win7局域网计算机 慢,Win7系统局域网访问文件速度缓慢怎么办
  3. IDS(Informix Dynamic Server)的培训文档[转贴]
  4. 关于win 10电脑连接手机热点自动断开的问题
  5. Poisoning Deep Learning based Recommender Model in Federated Learning Scenarios
  6. PoisonGAN: Generative Poisoning Attacks Against Federated Learning in Edge Computing Systems 阅读报告
  7. 开源社与 Dev.Together 2022
  8. 总裁导航v2.5.1修复版秒收录网站模板源码指定定时收录导航站
  9. 鸿蒙系统是手机系统还是电脑系统,鸿蒙系统能兼容手机电脑和智能设备,这是怎样实现的?...
  10. android 9闪屏,android 9图片制作 显示会出现闪屏怎么处理