日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

.net core dll 套壳加密_BCVP开发者说第4期:Remember.Core

發布時間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .net core dll 套壳加密_BCVP开发者说第4期:Remember.Core 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

沉靜歲月,淡忘流年1項目簡介

Remember.Core???一個輕量的 Web 應用框架, 具有優雅、高效、簡潔、富于表達力等優點。采用 前后端分離 設計,是崇尚開發效率的全棧框架
  • 簡潔友好 - 統一的設計規范,精心打磨的操作界面回應你的期待。

  • 易擴展 - 一套完整的插件機制,以 約定優于配置 為中心的項目結構,無論是對開發者還是使用者都如此友好。

Remember.Core目前僅提供了插件框架,若你需要實現一個Web插件系統,或許 Remember.Core 是不錯的參考,這也是本項目的目的,作為 插件系統實現的參考。原項目地址:https://github.com/yiyungent/Remember.Core作者博客:https://moeci.com/https://moeci.com/Remember.Core?2框架功能?

在線項目演示:暫無

(插件列表)

(運行效果)

(插件配置)

(插件文檔說明)

功能一覽
  • 上傳本地插件 - 熱插拔:

    無論是加載,卸載都無需重啟你的站點

  • 放置鉤子 - 讓插件行為加入框架

  • 全程依賴注入 - 你可在插件生命周期獲取你注入的任何服務

  • 以約定優于配置為中心的項目結構 - 只需關注你的業務

  • 一插件一LoadContext - 插件間彼此隔離

  • Framework 域共享機制 - 免去重復加載

  • 簡單易用 - PluginFinder、PluginManager 或許你僅僅需要它們

  • 一套完整的 插件生命周期 - 在需要時做你想做

  • 動態擴展 WebAPI - 每個插件都是一個 WebAPI

  • 完整插件的機制 - 從上傳,設置,禁用再到卸載,一次打通

  • 多數據庫切換 - 讓EF做它該做的事

  • 輕量的插件框架 - 易用不過如此

3框架技術棧

(系統所用到的技術棧)

前端基于vue-element-admin,后端基于.NETCore3.1,RESTful和SemanticWebAPI 設計,采用UHub(IdentityServer4)完成認證授權。配合使用Autofac依賴注入容器,EFCore提供數據持久化ORM,Serilog做日志集成,Quartz.NET做任務調度。核心的還是基于插件可拔插式的開發模式,有很好的借鑒意義。4分層介紹

1. 引入插件框架dll(PluginCore 必須,其它根據需要)

一個示例插件項目結構?如下圖

2. 添加 GetUserInfoPlugin 類 繼承 BasePlugin

或則你可以直接實現?IPlugin 可通過預先定義框架行為鉤子,插件再實現接口,將插件行為加入框架,如實現?ITestPlugin 支持插件?構造器注入?框架預先注入的服務等

public class GetUserInfoPlugin : BasePlugin, ITestPlugin{ private readonly IUserInfoService _userInfoService; public GetUserInfoPlugin(IUserInfoService userInfoService) { this._userInfoService = userInfoService; } public string Say() { UserInfo userInfo = _userInfoService.FirstOrDefaultAsync(m => !m.IsDeleted).Result; string rtn = $"用戶名: {userInfo.UserName}, 創建時間: {userInfo.CreateTime.ToString()}"; return rtn; } public override (bool IsSuccess, string Message) AfterEnable() { Console.WriteLine($"{nameof(GetUserInfoPlugin)}: {nameof(AfterEnable)}"); return base.AfterEnable(); } public override (bool IsSuccess, string Message) BeforeDisable() { Console.WriteLine($"{nameof(GetUserInfoPlugin)}: {nameof(BeforeDisable)}"); return base.BeforeDisable(); }}

3. 插件其他配置

支持 動態擴展 WebAPI,和普通WebAPI 項目相同,直接創建 Controller 即可[Route("api/plugins/[controller]")][ApiController]public class UserHelloController : ControllerBase{ private readonly IUserInfoService _userInfoService; public UserHelloController(IUserInfoService userInfoService) { this._userInfoService = userInfoService; } public ActionResult Get() { UserInfo userInfo = _userInfoService.FirstOrDefaultAsync(m => !m.IsDeleted).Result; SettingsModel settingsModel = PluginSettingsModelFactory.Create("GetUserInfo"); string rtn = $"用戶名: {userInfo.UserName}, 創建時間: {userInfo.CreateTime.ToString()}, Hello: {settingsModel.Hello}"; return Ok(rtn); }}

4. 插件發布打包

右鍵選擇插件項目,點擊發布(Publish),再將發布后的插件文件夾打包為?GetUserInfo.zip?即可 ????壓縮包名可隨意,框架將以?info.json?中?PluginId?作為插件標識 ????打包后的插件,即可通過?上傳本地插件?載入框架 ?? GetUserInfo.csproj?參考

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp3.1TargetFramework> PropertyGroup> <ItemGroup> <ProjectReference Include="..\..\src\Framework\Libraries\Domain\Domain.csproj" /> <ProjectReference Include="..\..\src\Framework\Libraries\Framework\Framework.csproj" /> <ProjectReference Include="..\..\src\Framework\Libraries\PluginCore\PluginCore.csproj" /> <ProjectReference Include="..\..\src\Framework\Libraries\Services\Services.csproj" /> ItemGroup> <ItemGroup> <None Update="info.json"> <CopyToOutputDirectory>AlwaysCopyToOutputDirectory> None> <None Update="README.md"> <CopyToOutputDirectory>AlwaysCopyToOutputDirectory> None> <None Update="settings.json"> <CopyToOutputDirectory>AlwaysCopyToOutputDirectory> None> ItemGroup>Project>本框架主要提供了插件框架的簡單實現樣板,如果你想要實現一個Web插件框架,你可以參考本框架的代碼。

基于Net/Core,快速搭建 API & SPA 及微服務應用組織BASE NETCORE (VUE) PROJECT TEAM

每一個.NET開發者都可以通過自己的開源項目(最好可以配套簡單發表些文章)在這里進行分享,BCVP開發者組織的意義就是激發和挖掘更多的作品,可能偏基礎,但是都會有價值。目的就是希望:每個人能將從社區學到的知識,進行自己消化和總結,濃縮成一個個獨立的項目,接著投入到社區,最后讓更多的初學者去了解、去學習、去思想碰撞,從而達到學習來源于社區,最后反哺于社區的良好循環目的,我們都是學生,也都是下一批初學者的老師,這才應該是一個社區正向推動的方法。

地址:
https://github.com/BaseCoreVueProject

可以在Home倉庫里,查看具體的流程說明,只要你愿意分享,就來吧。

加入我們

總結

以上是生活随笔為你收集整理的.net core dll 套壳加密_BCVP开发者说第4期:Remember.Core的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。