PicoServer 是一款轻量级跨平台 Web 请求胶水库,单 DLL 几十 KB,可集成进任意 .NET 程序,不依赖 IIS、Kestrel,集成简单、不入侵业务,高性能、高稳定,低资源消耗。无论是轻量级 Web API、WebSocket 实时通信、边缘计算 Web 服务,各类网关,还是轻量流媒体服务器,用它都恰到好处。

✨ PicoServer 核心特色

📦 开箱即用:内置路由、Token/JWT 认证、请求解析、WebAPI、WebSocket、静态文件服务、跨域等能力,覆盖基础 Web 场景。
🌍 跨平台兼容:基于 .NET Standard 2.0,支持 .NET Framework 4.6.1+ / Core / 5 / 6+,兼容 Win/Linux/macOS。
🔗 胶水特性:无缝配合第三方库,无需改动原有业务代码,轻松嵌入任意 .NET 程序,实现无侵入集成。
🚀 极速低耗:异步非阻塞架构,支持 AOT 编译,响应迅速,单 DLL 仅几十 KB,不拖垮主程序。
✨ 自由集成:通过 AddRoute 与 AddMiddleware 实现高度定制,逻辑全程可见可控,无黑盒封装。

❤️ 像写方法一样写 WebAPI

很多 .NET 开发者在桌面和设备领域经验丰富,但 Web 并不是主要方向。PicoServer 让你无需成为 Web 专家,也能为应用快速添加 Web 能力,实现更现代的交互方式,就像你熟悉的方法调用一样自然。

核心目标:集成轻量本地数据库 SQLite,实现数据的增删查,无需部署复杂数据库服务。

安装所需 NuGet 包:

Install-Package PicoServer
Install-Package System.Data.SQLite

C# 极简代码示例

using PicoServer;
using System;
using System.Data.SQLite;

class Program
{
    static void Main(string[] args)
    {
        // 1. 初始化SQLite(创建数据库+表)
        var connStr = "Data Source=demo.db;Version=3;";
        using var conn = new SQLiteConnection(connStr);
        conn.Open();
        new SQLiteCommand("CREATE TABLE IF NOT EXISTS User(Name TEXT, Age INT)", conn).ExecuteNonQuery();

        // 2. 初始化PicoServer实例
        var MyAPI = new WebAPIServer();

        // 3. 注册路由(插入数据)
        MyAPI.AddRoute("/adduser", () => 
        {
            using var c = new SQLiteConnection(connStr);
            c.Open();
            new SQLiteCommand("INSERT INTO User VALUES('张三',20)", c).ExecuteNonQuery();
            return "用户添加成功";
        }, "GET");

        // 4. 启动服务
        MyAPI.StartServer();
        Console.WriteLine("PicoServer启动成功:http://localhost:8090");

        Console.ReadKey();
        MyAPI.StopServer();
    }
}

VB.NET 极简代码示例

Imports PicoServer
Imports System
Imports System.Data.SQLite

Module Program
    Sub Main(args As String())
        ' 1. 初始化SQLite(创建数据库+表)
        Dim connStr As String = "Data Source=demo.db;Version=3;"
        Using conn As New SQLiteConnection(connStr)
            conn.Open()
            New SQLiteCommand("CREATE TABLE IF NOT EXISTS User(Name TEXT, Age INT)", conn).ExecuteNonQuery()
        End Using

        ' 2. 初始化PicoServer实例
        Dim MyAPI As New WebAPIServer()

        ' 3. 注册路由(插入数据)
        MyAPI.AddRoute("/adduser", Function()
                                       Using c As New SQLiteConnection(connStr)
                                           c.Open()
                                           New SQLiteCommand("INSERT INTO User VALUES('张三',20)", c).ExecuteNonQuery()
                                       End Using
                                       Return "用户添加成功"
                                   End Function, "GET")

        ' 4. 启动服务
        MyAPI.StartServer()
        Console.WriteLine("PicoServer启动成功:http://localhost:8090")

        Console.ReadKey()
        MyAPI.StopServer()
    End Sub
End Module

关键说明

  1. SQLite 为文件型数据库,无需安装服务,demo.db 会自动生成在项目输出目录;
  2. 两个版本代码功能完全一致,仅语法遵循各自语言规范;
  3. 访问 http://localhost:8090/adduser 即可触发数据插入操作。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐