找回密码
 立即注册
首页 业界区 业界 PicoServer 跨平台 Web 架构实战系列 (一) MAUI 中嵌入 ...

PicoServer 跨平台 Web 架构实战系列 (一) MAUI 中嵌入 PicoServer 入门

都淑贞 10 小时前
一、技术简介

ASP.NET Core / .NET MAUI

1.png

.NET MAUI(Multi-platform App UI) 是微软推出的跨平台应用开发框架,基于 .NET 生态构建,支持使用 C# + XAML 开发:

  • Windows
  • Android
  • iOS
  • macOS
它的特点是:

  • ✅ 单一项目结构,多平台编译
  • ✅ 共享 UI 与业务代码
  • ✅ 深度集成 .NET 生态(依赖注入、日志、配置等)
  • ✅ 可与 Blazor、ASP.NET Core 无缝整合
官网:
https://dotnet.microsoft.com/en-us/apps/maui
PicoServer

2.png

PicoServer 是一个基于 .NET 的轻量级 Web 服务器组件,适合嵌入到桌面或移动应用中,用于快速搭建本地 HTTP 服务。
特点包括:

  • ✅ 轻量级嵌入式 Web 服务器
  • ✅ 基于 HttpListener
  • ✅ 支持路由映射
  • ✅ 适合本地 API、设备通信、调试接口等场景
官网:
https://picoserver.cn
二、在 MAUI 中嵌入 PicoServer 实战示例

配套源码 https://github.com/densen2014/MauiPicoAdmin
下面演示如何在 MAUI 应用中嵌入 PicoServer,并运行一个本地 HTTP 服务。
1️⃣ 建立 MAUI 工程(包含示例页)

创建一个标准的 MAUI 项目(带默认示例页面即可)。
可使用 Visual Studio 新建 “.NET MAUI App” 项目
示例页面如下:
3.png

2️⃣ 安装 PicoServer 包

通过 NuGet 安装 PicoServer。
操作步骤:

  • 右键项目
  • 管理 NuGet 包
  • 搜索 PicoServer
  • 安装
4.png

3️⃣ 编辑 MauiProgram.cs

我们将 PicoServer 嵌入到应用启动流程中。
在文件末尾加入以下代码:
  1. public class PicoAdmin
  2. {
  3.     private readonly WebAPIServer MyAPI = new WebAPIServer(); // 实例化PicoServer
  4.     public PicoAdmin()
  5.     {
  6.         MyAPI.AddRoute("/", Hello); // 添加根路由映射
  7.         MyAPI.StartServer();        // 启动服务器
  8.     }
  9.     // 根路由映射的方法
  10.     private async Task Hello(HttpListenerRequest request, HttpListenerResponse response)
  11.     {
  12.         await response.WriteAsync("Hello PicoServer");
  13.     }
  14. }
复制代码
然后在 var builder = MauiApp.CreateBuilder(); 之前加入一行:
  1. var picoAdmin = new PicoAdmin(); // 实例化 PicoAdmin 以启动 PicoServer
复制代码
完整逻辑说明:

  • 应用启动时
  • 实例化 PicoAdmin
  • 内部创建 WebAPIServer
  • 添加根路由 /
  • 启动 HTTP 服务
4️⃣ 运行测试

先测试 Windows 平台

运行项目后,在浏览器访问:
  1. http://127.0.0.1:8090
复制代码
如果页面显示:
  1. Hello PicoServer
复制代码
说明:
✅ MAUI 应用启动成功
✅ PicoServer 已成功嵌入
✅ 本地 HTTP 服务运行正常
三、原理说明

整个流程本质上是:
  1. MAUI 应用启动
  2.         ↓
  3. 实例化 PicoAdmin
  4.         ↓
  5. 创建 HttpListener
  6.         ↓
  7. 监听 127.0.0.1:8090
  8.         ↓
  9. 处理 HTTP 请求
复制代码
这种模式非常适合:

  • 本地设备 API 服务
  • 嵌入式后台接口
  • 局域网设备通信
  • 调试接口
  • 本地 Web 控制台
四、总结

通过本示例,我们实现了:

  • 在 MAUI 中嵌入轻量级 HTTP 服务器
  • 启动本地端口服务
  • 添加简单路由
  • 浏览器访问测试
这种结构可以扩展为:

  • REST API
  • JSON 接口
  • 本地控制台页面
  • 与 WebView 结合形成 Hybrid App
还可以继续扩展成:

  • 支持 POST / JSON
  • 添加多路由
  • 添加静态文件服务
  • 或做成设备后台服务框架

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册