轻量级任务管理系统框架开发总结
Taskon是一个基于ASP.NET Core 8 BlazorAntDesignBlazor打造的一个跨平台、轻量级、适合快速开发的小项目框架。框架仅提供导航、监控面板、日志管理三个基础功能但支持以插件的形式扩展功能与页面。框架原生支持配置的热更新理论上插件修改了配置后只需在监控面板软重启便可应用配置无需重启进程。除AntDesign字体图标外框架还内置MaterialDesign字体图标无需额外配置自动导入直接使用类名即可。更多图标参考MaterialDesign图标库Material Design Icons - Icon Library - Pictogrammersiclassmdi mdi-stop/i实现原理很简单另外注册一个虚拟文件提供程序将字体及样式表文件放到wwwroot目录下并设置为嵌入的资源。// 从磁盘加载静态资源 app.UseStaticFiles(); // 从Taskon程序集加载嵌入的静态资源 app.UseStaticFiles(new StaticFileOptions { FileProvider new ManifestEmbeddedFileProvider(typeof(TaskonApplication).Assembly, wwwroot) });开始新建一个Blazor Server项目修改Main方法为如下public static void Main(string[] args) { var app new TaskonApplication(); var additionalAssemblies [typeof(Program).Assembly]; var pluginType typeof(DataCoHj212Plugin); app.Run(args, additionalAssemblies, pluginType, builder { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { builder.Host.UseWindowsService(); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { builder.Host.UseSystemd(); } }); }其中additionalAssemblies参数用于附加业务程序集指定pluginType以创建插件实例。二次开发开发业务项目时需要实现插件TaskPlugin并使用TaskPluginMetadata描述插件元数据公开接口定义如下public abstract class TaskPlugin { /// summary /// 菜单信息 /// /summary public abstract ListMenuItem Menus { get; } /// summary /// 配置服务依赖 /// /summary /// param nameservices/param public abstract void Install(IServiceCollection services); /// summary /// 获取插件状态 /// /summary public bool IsEnabled { get; } /// summary /// 启动插件 /// /summary public void Start() { OnStarting(); _isEnabled true; } protected abstract void OnStarting(); /// summary /// 停止插件 /// /summary public void Stop() { OnStopping(); _isEnabled false; } protected abstract void OnStopping(); /// summary /// 重启插件 /// /summary public void Restart() { Stop(); Start(); } /// summary /// 获取任务插件的Id /// /summary public string Id _metadata.Id; /// summary /// 创建视图 /// /summary /// param nametitle标题/param /// param namecontent视图组件/param protected void AddView(string title, RenderFragment content) { _views.Add(new ComponentView { Id _views.Count, Title title, Content content }); } }对于业务插件而言需要实现的接口为Install、OnStarting、OnStopping、Menus。框架提供的监控面板页面默认提供启动/停止插件及查看插件信息功能具体的监控页面由插件实现通过AddView方法将页面托管至监控面板。AddView方法可调用多次当插件添加了多个视图时监控面板呈现为多Tab形式。除监控面板以外的页面建议添加为菜单菜单图标仅支持AntDesignBlazor内置图标。示例以下代码定义了一个数据转发插件。[TaskPluginMetadata(DataCo_HJ212, 万维盈创数据转发程序, 从万维盈创数采仪读取数据并通过HJ212协议上传至道农云)] public class DataCoHj212Plugin : TaskPlugin { public override ListMenuItem Menus new() { new MenuItem { Key setting, Title 参数设置, Href /setting, IconType setting } }; public DataCoHj212Plugin() { AddView(实时监控, builder { builder.OpenComponentRealtimeMonitor(0); builder.CloseComponent(); }); } public override void Install(IServiceCollection services) { services.AddSingleton(xxx); } protected override void OnStarting() { // 实现插件启动逻辑 } protected override void OnStopping() { // 实现插件停止逻辑 } }截图

相关新闻

告别命令行恐惧:用Zenmap图形化界面玩转Nmap五大核心扫描模式

告别命令行恐惧:用Zenmap图形化界面玩转Nmap五大核心扫描模式

1. 项目概述:从命令行到图形化的安全扫描进化 对于很多刚接触网络安全或者系统运维的朋友来说,Nmap这个名字既熟悉又让人有点发怵。熟悉是因为它是网络发现和安全审计的“瑞士军刀”,几乎无人不知;发怵则是因为它那满屏的命令行参…

2026/10/18 15:19:52 阅读更多 →
2026高质量数据集管理平台:行业趋势、权威评估体系与主流厂商深度解析

2026高质量数据集管理平台:行业趋势、权威评估体系与主流厂商深度解析

高质量数据集管理平台行业白皮书(2026):权威评测框架 主流厂商全解析人工智能行业正由 “可用落地” 迈入 “精细化好用” 的进阶阶段,高质量数据集是大模型训练、AI 产业化落地的底层核心底座。数据集的供给体量、标准化质量&am…

2026/10/17 4:27:16 阅读更多 →
计算机毕业设计之基于WEB的评价指标量化评分系统

计算机毕业设计之基于WEB的评价指标量化评分系统

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&#xf…

2026/10/17 4:27:21 阅读更多 →

最新新闻

Obsidian标签体系完整拆解:四种方案对比与落地模板

Obsidian标签体系完整拆解:四种方案对比与落地模板

开头笔记软件换了又换,最后能让我一直留下来的,反倒是 Obsidian 里那套看起来不起眼的标签系统。我见过不少人把 Obsidian 当成文件夹管理器,一个笔记塞进一个目录,回头找资料就翻了天;也见过更夸张的,半年…

2026/10/20 22:19:42 阅读更多 →
逆向工程自动化:REA与x64dbg-MCP的Agent协同分析实践

逆向工程自动化:REA与x64dbg-MCP的Agent协同分析实践

1. 逆向工程工作流的现状与痛点拆解1.1 传统逆向分析的真实节奏搞过逆向的人都有一个共同感受:这活儿本质上是个"体力活脑力活"的混合体。你拿到一个二进制文件,先扔进反编译器看伪代码,遇到看不懂的地方切到调试器下断点&#xff…

2026/10/20 22:19:42 阅读更多 →
C++实现线程同步的四种方式总结

C++实现线程同步的四种方式总结

前言 多线程编程的核心难点不在「怎么开线程」,而在「多个线程同时访问同一份数据时,如何保证结果可预期」。C 标准把没有同步保护的并发读写称为数据竞争(data race),而数据竞争是未定义行为(undefined be…

2026/10/20 22:19:42 阅读更多 →
通用Agent架构设计:大脑+技能+护栏,重构软件意图驱动新范式

通用Agent架构设计:大脑+技能+护栏,重构软件意图驱动新范式

1. 从“功能堆叠”到“意图驱动”:通用Agent到底在改什么过去十几年,我们做软件的方式基本没变过:产品经理画页面,后端定义接口,前端拼组件,测试写用例,最后打包发版。用户打开一个App&#xff…

2026/10/20 22:19:42 阅读更多 →
JMeter分布式压测Docker化实践:从原理到排坑

JMeter分布式压测Docker化实践:从原理到排坑

第一次在一次大促前的性能摸底中,我把JMeter分布式压测环境从一台台物理机迁到了Docker上,原以为只是把启动命令换成容器方式执行,结果光RMI连接就排查了一个下午。稳定跑起来之后我才确信,这个方向选对了——它解决了我过去两年在…

2026/10/20 22:19:42 阅读更多 →
知识蒸馏进阶:变分信息蒸馏VID原理与实战

知识蒸馏进阶:变分信息蒸馏VID原理与实战

1. 从知识蒸馏的瓶颈说起如果你这两年一直在跟进模型压缩和知识蒸馏方向,大概率会有一种感觉:传统KD(Knowledge Distillation)那套“软标签KL散度”的玩法,在早期分类任务上确实好使,但一旦碰到特征维度高、…

2026/10/20 22:18:29 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →