一,什么是 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:

2,在项目中,添加Tinyfox引用:

3,在该项目的 Program.cs 的“Main()”方法中添加代码:

4,(按F5)启动该程序:

5,打开浏览器访问,查看效果:

五,小节

从上属示例项目创建过程中可以看出,创建一个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 键)。

Tinyfox 简易教程之:Hello World!的更多相关文章

  1. [转]搬瓦工教程之九:通过Net-Speeder为搬瓦工提升网速

    搬瓦工教程之九:通过Net-Speeder为搬瓦工提升网速 有的同学反映自己的搬瓦工速度慢,丢包率高.这其实和你的网络服务提供商有关.据我所知一部分上海电信的同学就有这种问题.那么碰到了坑爹的网络服务 ...

  2. jQuery EasyUI教程之datagrid应用(三)

    今天继续之前的整理,上篇整理了datagrid的数据显示及其分页功能 获取数据库数据显示在datagrid中:jQuery EasyUI教程之datagrid应用(一) datagrid实现分页功能: ...

  3. jQuery EasyUI教程之datagrid应用(二)

    上次写到了让数据库数据在网页datagrid显示,我们只是单纯的实现了显示,仔细看的话显示的信息并没有达到我们理想的效果,这里我们丰富一下: 上次显示的结果是这样的 点击查看上篇:jQuery Eas ...

  4. jQuery EasyUI教程之datagrid应用(一)

    最近一段时间都在做人事系统的项目,主要用到了EasyUI,数据库操作,然后抽点时间整理一下EasyUI的内容. 这里我们就以一个简洁的电话簿软件为基础,具体地说一下datagrid应用吧 datagr ...

  5. kali linux 系列教程之metasploit 连接postgresql可能遇见的问题

    kali linux 系列教程之metasploit 连接postgresql可能遇见的问题 文/玄魂   目录 kali linux 下metasploit 连接postgresql可能遇见的问题. ...

  6. kali Linux系列教程之BeFF安装与集成Metasploit

    kali Linux系列教程之BeFF安装与集成Metasploit 文/玄魂 kali Linux系列教程之BeFF安装与集成Metasploit 1.1 apt-get安装方式 1.2 启动 1. ...

  7. Kali Linux系列教程之OpenVas安装

    Kali Linux系列教程之OpenVas安装 文 /玄魂 目录 Kali Linux系列教程之OpenVas安装 前言 1.  服务器层组件 2.客户层组件 安装过程 Initial setup ...

  8. Playmaker Input篇教程之PlayMaker菜单概述

    Playmaker Input篇教程之PlayMaker菜单概述 Playmaker InputPlayMaker菜单概述 Playmaker插件被导入游戏项目以后,会自动为Unity编辑器添加一个名 ...

  9. Playmaker Input篇教程之Playmaker购买下载和导入

    Playmaker Input篇教程之Playmaker购买下载和导入 Playmaker Input篇认识Playmaker Playmaker是Unity的插件,其标志如图1-1所示.开发者使用它 ...

  10. Xamarin Anroid开发教程之Anroid开发工具及应用介绍

    Xamarin Anroid开发教程之Anroid开发工具及应用介绍 Xamarin开发Anroid应用介绍 如今智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热.但是在Andro ...

随机推荐

  1. 理解Flink之三Transformation

    Transformation 是 Flink操作的底层实现,无论是map还是Flatmap. DataStream类中包含两个变量: StreamExecutionEnvironment Transf ...

  2. Skyvern – AI浏览器自动化测试工具

    Skyvern – AI浏览器自动化测试工具 ​​ ‍ Skyvern是什么 Skyvern是开源的浏览器自动化工具,结合大型语言模型(LLMs)和计算机视觉技术实现复杂的网页交互和数据提取.与传统的 ...

  3. nodejs安装和环境配置

    nodejs安装和环境配置 1.下载安装node.js 官方下载地址: https://nodejs.org/en/ 下载LTS版本(长期稳定版本) 安装可以更改安装路径(我的更改是D:\Progra ...

  4. uni-app Vue3项目引入Tailwind CSS

    前情 Tailwind CSS 是一个原子类 CSS 框架,它将基础的 CSS 全部拆分为原子级别,同时还补全各种浏览器模式前缀,兼容性也不错.它的工作原理是扫描所有 HTML 文件.JavaScri ...

  5. MQ系列 | RabbitMQ 消息确认机制

    RabbitMQ 消息确认机制 温馨提示:基于JDK17.SpringBoot 2.1.8.RELEASE 版本,由于RabbitMQ 在 SpringBoot3+ 的配置项有所不同, 所以请严格按照 ...

  6. 【Amadeus原创】idea实现java前后端代码自动化调试

    代码结构: 1,meeting-server 后端  springBoot maven 2,metting-ui 前端    nodejs 3,两个文件夹都在early-meeting文件夹中 如何在 ...

  7. 高中生入门学习c/c++指导

    一.c与c++关系 参考图示: 可见,c与c++的基本部分是相同的,会有一些小区别,不妨一起学.DEV-C++能支持C++和C语言编程 二.学习资料网站介绍 1.C语言初阶--手把手教零基础/新手入门 ...

  8. 【web】Ajax Study Note

    1.Create a XMLHttpRequest Object (1)For IE7+.Firefox.Chrome.Safari and Opera variable = new XMLHttpR ...

  9. kubernetes批量删除长期处于Terminating状态的namespace

    环境是k3s 1.19.1版本 有时候跑实验,实验总是卡住,而且还删不了ns,一跑又n个 强行删除有风险,强删需谨慎!! 创建脚本 delns.sh #!/bin/bash for i in &quo ...

  10. "有邻"创始人:APP覆盖杭州千余小区 却还没认真想过赚钱的事

    "远亲不如近邻",常被社区经济"掘金者"拿来做开场语. 在杭州,有不少互联网创业企业在深挖社区经济,例如社区O2O服务平台.杨仁斌也看中了"社区&qu ...