zoukankan      html  css  js  c++  java
  • .NET 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,因此就省掉很多配置。
     
    CSFramework.WebApi服务端开发框架应用
     
     
    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服务器搭建详解 - IIS服务承载(IIS Hosting IIS宿主)
     
     
    二、C# ASP.NET WebApi服务器搭建详解 - 自承载(Self 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项目是个可以直接运行的控制台应用程序。
     
    贴图图片-ASPNETWebApi服务器搭建详解部署selfhosting服务
     
     
    6.2 部署IIS承载的WebApi服务
     
    在CSFramework.WebAPI.Demo.IISHosting项目点右键【发布】,弹出发布Web对话框,Publish method 选择【File System】文件系统。
     
    贴图图片-ASPNETWebApi服务器搭建详解部署IIS服务
     
    发布文件到一个目录,将目录文件部署到IIS服务器,参考下文。
     
    参考:VS发布及IIS服务器部署WebApi后台开发框架(原)
     
     
     
    6.3 部署Windows服务承载的WebApi服务器
     
    在debug目录下建立一个用于安装win服务的批处理命令程序,如:_安装服务.bat,以管理员身份运行即可安装。
     
    _安装服务.bat

    dos command:

    path c:windowssystem32;
    path %SystemRoot%Microsoft.NETFrameworkv4.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

     
    贴图图片-ASPNETWebApi服务器搭建详解win服务承载108
     
     
    安装完成,打开Windows服务管理器,查看服务状态。
     
     
    贴图图片-ASPNETWebApi服务器搭建详解win服务承载109
     
     
    参考: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)

    WebApi服务端开发框架
     
     
    7. CSFramework.WebAPI服务端开发框架专业版V1.0 《体系架构图
     
    WebApi服务端开发框架-架构图
     
     
     CSFramework.WebApi 封装多个通用功能,为搭建Web服务端软件提供强大的技术支持。

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

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

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

    C#.NET webapi开发框架成功案例-私蜜管家APP项目截图
    http://www.csframework.com/archive/1/arc-1-20181018-2483.htm

    C#.NET webapi开发框架成功案例-智运天下TMS系统APP项目截图
    http://www.csframework.com/archive/1/arc-1-20181018-2484.htm

    CSFramework webapi服务端框架成功案例-建行底层支付系统+i蜜书收银助手客户端
    http://www.csframework.com/archive/1/arc-1-20190928-2649.htm

    CSFramework webapi服务端框架开发微信支付接口成功案例
    http://www.csframework.com/archive/1/arc-1-20190928-2651.htm

    webapi开发框架成功案例:车货匹配类微信小程序
    http://www.csframework.com/archive/1/arc-1-20191111-2666.htm

    webapi服务端开发框架成功案例-对接三方支付平台连连支付C#.NET
    http://www.csframework.com/archive/1/arc-1-20200103-2686.htm

    C#.NET webapi开发框架成功案例-物流行业TMS系统+APP+微信小程序
    http://www.csframework.com/archive/1/arc-1-20200103-2687.htm

    C#.NET webapi开发框架成功案例-物流行业系统对接|满帮集团|中交兴路|福佑卡车
    http://www.csframework.com/archive/1/arc-1-20200104-2688.htm

    webapi开发框架应用电商微信小程序成功案例
    http://www.csframework.com/archive/1/arc-1-20191219-2679.htm

  • 相关阅读:
    【C#】枚举和字符串以及数字之间的互相转换
    MySQL中int(M)和tinyint(M)数值类型中M值的意义
    C# 将数组拼接为字符串 string.Join 的使用
    MySQL-locate()函数
    C# 4.0 dynamic用法,并且与 var, object的区别
    Go语言 go get 找不到 google.golang.org/protobuf/encoding/prototext 解决办法
    Go语言 中逗号ok模式
    MySQL数据库面试题(2020最新版)
    .Net Core 3.0开源可视化设计CMS内容管理系统建站系统
    SQL Server 全文搜索/全文索引
  • 原文地址:https://www.cnblogs.com/jonnysun/p/12324270.html
Copyright © 2011-2022 走看看