开源的 .NET 轻量级可视化插件框架!

fad5413b07c8abe7b8da79a5e5c5ae77.png

472a50e6ace56da667269af0e83a87db.gif

78c2261f5785e4cc0c16ab83eecab212.png

欢迎来到 Dotnet 工具箱!在这里,你可以发现各种令人惊喜的开源项目!

轻量级插件框架

PluginCore 是一个适用于 ASP.NET Core 的轻量级插件框架,由国人开发并开源。有一些插件的项目是基于配置的形式管理插件, 而这个项目提供了一个插件管理页面,对使用者非常友好。

7b06239a1f32f7f4a7e4e80de3b3b398.png

功能特性

  • • 简单 - 约定优于配置, 以最少的配置帮助你专注于业务

  • • 开箱即用 - 前后端自动集成, 两行代码完成集成

  • • 动态 WebAPI - 每个插件均可新增 Controller, 拥有独立路由

  • • 插件隔离与共享 - 完善的插件隔离与类型共享

  • • 插件前后端分离 - 可在插件 wwwroot 文件夹下放置前端文件 (index.html,...), 然后访问 /plugins/pluginId/index.html

  • • 热插拔 - 上传、安装、启用、禁用、卸载、删除 均无需重启站点; 甚至可通过插件在运行时添加 HTTP request pipeline middleware, 也无需重启站点

  • • 依赖注入 - 可在 实现 IPlugin 的插件类的构造方法上申请依赖注入项, 当然 Controller 构造方法上也可依赖注入

  • • 模块化 - 过程模块化, 全程依赖注入, 轻松替换实现自定义插件机制

  • • 易扩展 - 轻松编写插件SDK, 编写扩展插件 - 自定义插件钩子, 并应用

  • • 插件依赖树 - 申明式依赖, 自动根据插件间依赖建立正确加载顺序

  • • 生命周期 - 可控的插件生命周期, 完善的事件派发

  • • 挂件 - 可在前端埋扩展点, 通过插件注入挂件, 挂件拥有完善的 HTML/CSS/JavaScript 支持, 优雅的事件派发

  • • 无需数据库 - 无数据库依赖

  • • 0侵入 - 近乎0侵入, 不影响你的现有系统

  • • 极少依赖 - 只依赖于一个第三方包 ( 用于解压的 SharpZipLib )

  • • 国际化 - 得益于 i18n 的国际化实现, 提供多语言切换支持

截图预览

26b422f14b55e89476e7c4ae7eeaa39c.png 9d90e88155b70f6904cee644df940d04.png 07919031e5bf5f7a69652ce3295e65ea.png 7f0265de7455d679e0f6c5e8a5938bbd.png

一分钟集成

1.使用 Nuget 安装 PluginCore

Install-Package PluginCore.AspNetCore

2.修改 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

39e6c474dd9c7726a48fd2e46b8368d1.png

7bb1742b1c60ece8b89d3eaf93533e6e.png

分享

ee3917c5d4b179c477d44fe6ed1e0500.png

点收藏

eca12aac69ec00adff401c56762a666e.png

点点赞

52e575d87b7d5b21ac26b75fc3aa959c.png

点在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值