WebAPI 概述
定义
一、说明
TouchSocket.WebApi 是一款高性能、轻量级的 WebAPI 框架,提供类似于 ASP.NET Core 的开发体验,同时具有更高的性能表现。它支持多种调用方式,包括浏览器访问、HttpClient 调用、代理生成等,是构建高性能 Web API 服务的理想选择。
二、核心特性
-
高性能
性能优于传统 HTTP 框架,采用高效的请求处理机制 -
轻量级
最小化依赖,快速启动,资源占用少 -
简单易用
类似 ASP.NET Core 的 API 设计,降低学习成本 -
灵活路由
支持特性路由、默认路由、正则路由等多种路由方式 -
多种调用方式
支持浏览器、HttpClient、代理生成等多种调用方式 -
完整功能
内置鉴权、跨域、文件上传下载等常用功能 -
AOT 支持
完整支持 Native AOT 编译,进一步提升性能 -
Swagger 集成
内置 Swagger 支持,自动生成 API 文档
三、快速开始
3.1 安装 NuGet 包
Install-Package TouchSocket.WebApi
3.2 定义 WebAPI 服务类
创建一个服务类,继承自 SingletonRpcServer、ScopedRpcServer 或 TransientRpcServer,然后在方法上添加 [WebApi] 特性。
🔄 正在加载代码...
服务生命周期说明:
- SingletonRpcServer - 单例服务,整个应用程序生命周期内只创建一个实例
- ScopedRpcServer - 作用域服务,每个连接的请求创建一个新实例(⚠️注意:此处的 scope 划分和 ASP.NET 中的 scope 不同)
- TransientRpcServer - 瞬态服务,每次调用都创建一个新实例
3.3 启动 WebAPI 服务器
🔄 正在加载代码...
配置说明:
SetListenIPHosts(7789)- 设置监听端口AddConsoleLogger()- 添加控制台日志AddRpcStore()- 配置 RPC 存储,用于注册服务RegisterServer<T>()- 注册服务类UseWebApi()- 启用 WebAPI 插件UseDefaultHttpServicePlugin()- 添加默认 HTTP 插件,处理 404 等情况
3.4 访问 API
服务启动后,可以通过浏览器或其他 HTTP 客户端访问:
http://127.0.0.1:7789/DemoApiServer/Sum?a=10&b=20