NeuCharFramework (NCF)
  • NCF - NeuCharFramework
  • 项目

    • 准备
    • NcfPackageSources 源码指南
    • 动态WebApiEngine
    • 部署
    • MCP (Model Context Protocol) 模块
    • Senparc.AI
  • 帮助

    • 在线资源
    • 问答社区
    • QQ群(147054579)
    • Senparc微信SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • NCF - NeuCharFramework
  • 项目

    • 准备
    • NcfPackageSources 源码指南
    • 动态WebApiEngine
    • 部署
    • MCP (Model Context Protocol) 模块
    • Senparc.AI
  • 帮助

    • 在线资源
    • 问答社区
    • QQ群(147054579)
    • Senparc微信SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • 新手入口与能力说明

    • NcfPackageSources 新手快速上手(60 分钟)
    • NcfPackageSources 源码指南
    • NCF 核心能力详解(面向实战)
    • 版本升级说明
  • XNCF 扩展库

    • XNCF 扩展库说明(Senparc.Xncf.Xxxx)
  • NCF 基础库

    • Senparc.Ncf.Core
    • Senparc.Ncf.Database(数据库基础)
    • Senparc.Ncf.Repository
    • Senparc.Ncf.Service
    • Senparc.Ncf.SMS
    • Senparc.Ncf.Mvc.UI
    • Senparc.Ncf.Log
    • Senparc.Ncf.Utility
    • Senparc.Ncf.XncfBase
    • Senparc.Ncf.AreaBase
    • Senparc.Ncf.DatabasePlant
  • 核心接口

    • IXncfRegister 接口(当前版本)

IXncfRegister 接口(当前版本)

基线:src/Basic/Senparc.Ncf.XncfBase/Interfaces/IXncfRegister.cs(当前版本)

1. 接口职责

IXncfRegister 是每个 XNCF 模块的“注册契约”,用于定义:

  • 模块元数据(Name/Uid/Version/MenuName/Icon/Description)
  • 模块生命周期(安装、卸载、服务注册、管道接入)
  • AutoMapper 映射挂载
  • 模块线程信息
  • MCP 服务开关与注册

2. 关键属性

bool IgnoreInstall { get; }
bool EnableMcpServer { get; }
string Name { get; }
string Uid { get; }
string Version { get; }
string MenuName { get; }
string Icon { get; }
string Description { get; }
ConcurrentBag<Action<Profile>> AutoMapMappingConfigs { get; set; }
IEnumerable<KeyValuePair<ThreadInfo, Thread>> RegisteredThreadInfo { get; }

3. 关键方法

Task InstallOrUpdateAsync(IServiceProvider serviceProvider, InstallOrUpdate installOrUpdate);
Task UninstallAsync(IServiceProvider serviceProvider, Func<Task> unsinstallFunc);

string GetAreaHomeUrl();
string GetAreaUrl(string path);

IServiceCollection AddXncfModule(IServiceCollection services, IConfiguration configuration, IHostEnvironment env);
void AddAutoMapMapping(Action<Profile> mapping);
void OnAutoMapMapping(IServiceCollection services, IConfiguration configuration);

IApplicationBuilder UseXncfModule(IApplicationBuilder app, IRegisterService registerService);

void AddMcpServer(IServiceCollection services, IXncfRegister xncfRegister);
void UseMcpServer(IApplicationBuilder app, IRegisterService registerService);

4. 当前实现注意点(重要)

  • IList<Type> Functions 在当前接口中为注释状态,不作为主注册机制。
  • Function 推荐通过 AppService 方法上的 [FunctionRender] 自动扫描注册。
  • AddXncfModule 的签名包含 IHostEnvironment env,实现时不要遗漏。
  • MCP 能力已进入接口契约:EnableMcpServer / AddMcpServer / UseMcpServer。

5. 推荐实现方式

新模块请继承 XncfRegisterBase,只覆盖必要点:

  • 基本元数据(Name/UId/Version/MenuName/Icon/Description)
  • 安装与卸载行为
  • DI 注册(AddXncfModule)
  • 中间件/静态资源接入(UseXncfModule)
  • 如需 MCP:重写 EnableMcpServer => true
在 GitHub 上编辑此页
上次更新:
贡献者: JeffreySu, MLTechnology