开源的 .NET 轻量级可视化插件框架! |
您所在的位置:网站首页 › 控件与插件的区别 › 开源的 .NET 轻量级可视化插件框架! |
欢迎来到 Dotnet 工具箱!在这里,你可以发现各种令人惊喜的开源项目! 轻量级插件框架 PluginCore 是一个适用于 ASP.NET Core 的轻量级插件框架,由国人开发并开源。有一些插件的项目是基于配置的形式管理插件, 而这个项目提供了一个插件管理页面,对使用者非常友好。 功能特性 • 简单 - 约定优于配置, 以最少的配置帮助你专注于业务 • 开箱即用 - 前后端自动集成, 两行代码完成集成 • 动态 WebAPI - 每个插件均可新增 Controller, 拥有独立路由 • 插件隔离与共享 - 完善的插件隔离与类型共享 • 插件前后端分离 - 可在插件 wwwroot 文件夹下放置前端文件 (index.html,...), 然后访问 /plugins/pluginId/index.html • 热插拔 - 上传、安装、启用、禁用、卸载、删除 均无需重启站点; 甚至可通过插件在运行时添加 HTTP request pipeline middleware, 也无需重启站点 • 依赖注入 - 可在 实现 IPlugin 的插件类的构造方法上申请依赖注入项, 当然 Controller 构造方法上也可依赖注入 • 模块化 - 过程模块化, 全程依赖注入, 轻松替换实现自定义插件机制 • 易扩展 - 轻松编写插件SDK, 编写扩展插件 - 自定义插件钩子, 并应用 • 插件依赖树 - 申明式依赖, 自动根据插件间依赖建立正确加载顺序 • 生命周期 - 可控的插件生命周期, 完善的事件派发 • 挂件 - 可在前端埋扩展点, 通过插件注入挂件, 挂件拥有完善的 HTML/CSS/JavaScript 支持, 优雅的事件派发 • 无需数据库 - 无数据库依赖 • 0侵入 - 近乎0侵入, 不影响你的现有系统 • 极少依赖 - 只依赖于一个第三方包 ( 用于解压的 SharpZipLib ) • 国际化 - 得益于 i18n 的国际化实现, 提供多语言切换支持 截图预览 ![]() ![]() ![]() ![]() 一分钟集成 1.使用 Nuget 安装 PluginCore Install-Package PluginCore.AspNetCore2.修改 Startup.cs,如下 using PluginCore.AspNetCore.Extensions; // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); // 1. 添加 PluginCore services.AddPluginCore(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); // 2. 使用 PluginCore app.UsePluginCore(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }现在访问 https://localhost:5001/PluginCore/Admin 即可进入 PluginCore 插件管理后台。 往期推荐: JIEJIE.NET - 强大的 .NET 代码混淆工具 Dots - 更友好的 .NET SDK 管理器 DotNetCorePlugins- 动态加载和卸载 .NET 程序插件 分布式唯一 ID 生成器 - IDGen 开源力作!使用 Blazor 和 C# 管理 K8s 项目地址 https://github.com/yiyungent/PluginCore 分享 点收藏 点点赞 点在看 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |