You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找DNN、2sxc及RazorBlade的可用服务完整列表

2sxc、DNN、RazorBlade可用服务清单获取方式

快速获取当前环境全量服务的便捷方法

  • 运行时直接拉取:在代码中获取当前作用域的IServiceProvider实例,调用GetServices<object>()即可拿到所有已注册的服务实例,遍历输出每个服务的接口类型、实现类型、生命周期,就能得到和你当前运行环境100%匹配的可用服务列表,不会受版本差异、站点自定义服务注册的影响,准确性远高于静态文档。
  • 2sxc可视化查询:开启2sxc调试模式后,页面自带的调试检查面板会直接列出所有已注册服务,支持按生命周期(Scoped/Transient/Singleton)筛选,不用手写遍历代码,迁移旧代码时查起来效率很高。

无公开文档时的服务梳理路径

三个项目均为开源项目,所有公开服务都放在固定命名空间下,不用零散查找代码页,直接按命名空间梳理就能收全完整服务列表:

  • 2sxc:面向业务开发的公开服务接口统一存放在ToSic.Sxc.Services命名空间,底层EAV引擎的通用服务存放在ToSic.Eav.Services命名空间,代码内附完整的方法注释,和官方公开文档内容完全一致。
  • DNN:平台提供的可注入服务抽象接口全部在DotNetNuke.Abstractions类库的对应子命名空间下,旧版静态服务的实现集中在DotNetNuke.Services命名空间,迁移时可以对照接口列表快速判断哪些旧静态类已经适配了依赖注入模式,可以用GetScopedService()调用。
  • RazorBlade:作为轻量类库,它的公开服务全部集中在RazorBlade.Services命名空间,核心能力只有文本处理、HTML生成、URL处理几类,接口总数很少,梳理成本极低。

注意:不要完全依赖公开文档列的服务清单,不同版本的2sxc、DNN会新增、废弃部分服务,运行时拉取的服务列表才是和你当前站点环境完全匹配的结果,能避免写出版本不兼容的代码。

内容的提问来源于stack exchange,提问作者Jeremy Farrance

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 00:48:20