一,什么是 Tinyfox:
Tinyfox 是一款自带 HTTP 服务器的以 WebApi、WebSocket 及"动态HTML"为核心功能的超轻量级的独立性极强的高性能 Web 应用程序基础框架。
Tinyfox 简单易用,性能强劲,跨平台,既支持 Linux 也支持 Windows,既支持 x86 硬件环境,也支持 ARM、LoongArch 等 CPU 环境。同时,Tinyfox既支持传统的 .NET Framework环境,也支持 .NET6 以上的".NET新世界",对各种.NET项目都有很好的适应能力。
另外,Tinyfox 自身已经去除了影响 .NET 程序"Native化"的各种因素,所以,Tinyfox 能很好地支持 .NET NativeAOT,这个特点为基于 Tinyfox 开发高性能、高价值的商用程序提供了关键性的基础条件。
二,Tinyfox的使用场景:
根据 Tinyfox 的自身特点,Tinyfox 适合于在下列场景中使用:
- 快速开发、快速部署或者需要大量节省开发投入和运营成本的网络服务程序开发场景;
- WebAPI、微服务场景。可以做得"小而精、小而快"是 Tinyfox 的最大特点之一,因此在高性能 WebApi、微服务等场景中,Tinyfox 是非常合适的选择;
- 信息及数据双向及时交互场景,比如开发各种在线交互类服务程序、网络游戏软件的后端服务程序等等;
- 因为Tinyfox内置"动态HTML"功能,因为,Tinyfox也能用于网站项目的快速建设场景;
- 对关键源码保护级别要求很高的或商业性质的网络服务程序开发场景,因为 Tinyfox 已经从基础层面避开了破坏程序"Native化"的各种因素;
- 对程序大小、独立性、稳定性要求很高的应用场景,比如开发出提供给工控设备、物联网设备、机顶盒设备使用的网络服务程序;
- 大并发、高负载的网络服务场景。
- 跨平台场景。
三,Tinyfox的获取:
Tinyfox 是一款免费组件,通过 www.nuget.org 公开发布,开发者可以直接在 Visual Studio 中通过 nuget 管理器直接引用。
四,Hello World:
1,启动 Visual Studio(Visual Studio),创建一个控制台项目,假设项目名称为TinfoxTest:
![](https://img2024.cnblogs.com/blog/513505/202502/513505-20250212143032702-1113268267.png)
2,在项目中,添加Tinyfox引用:
![](https://img2024.cnblogs.com/blog/513505/202502/513505-20250212143243052-2143965216.png)
![](https://img2024.cnblogs.com/blog/513505/202502/513505-20250212143407880-2027937380.png)
3,在该项目的 Program.cs 的"Main()"方法中添加代码:
![](https://img2024.cnblogs.com/blog/513505/202502/513505-20250212144456034-2117352311.png)
4,(按F5)启动该程序:
![](https://img2024.cnblogs.com/blog/513505/202502/513505-20250212144734650-1879301140.png)
5,打开浏览器访问,查看效果:
![](https://img2024.cnblogs.com/blog/513505/202502/513505-20250212145013322-809293535.png)
五,小节
从上属示例项目创建过程中可以看出,创建一个Tinyfox Web服务项目包括如下步骤:
1,在VS中新建 .NET/c# 项目,可以是控制台类型的,也可以是WinForm类型的;
2,在VS中,用 NuGet 包管理器浏览并安装 Tinyfox 包;
3,在代码中 using Tinyfox、Tinyfox.WebApiEngine、Tinyfox.WebApiEngine.Results 等名字空间;
4,在程序 Main() 方法中,通过Fox静态类的属性对Tinyfox的服务端口、绑定的IP地址、上传文件大小限制等等运行参数进行配置(如果有必要的话);
5,通过 Fox.Router 属性设置路由(请求路径与处理方法之间的映射关系);
6,用 Fox.Start() 方法启动服务并用 Fox.WaitExit() 方法阻止程序直接退出(等候程序主动关闭或收到外部终止信号,如按下了 ctrl+c 键)。