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

我的IProcessDataPublisher资源的ProcessDataOccurred事件未被处理,EventHandler始终为null

问题排查与解决方案

你的基类代码实现了IProcessDataPublisher接口并声明了公共事件ProcessDataOccurred,但事件始终为null,可按以下步骤排查:

  • 确认资源子类的注册特性
    抽象基类SomeCellBase上的[ResourceRegistration]特性默认不会被子类继承(除非特性定义时设置了Inherited = true)。请检查你的具体资源子类是否添加了[ResourceRegistration]特性——只有被该特性标记的资源,才会被Moryx资源管理器识别并纳入管理,适配器才能找到它们并订阅事件。

  • 检查ProcessData适配器的配置与启动

    1. 打开适配器的配置文件,确认是否正确指定了要监听的资源类型(如SomeCellBase或其子类)、资源名称或匹配规则,确保适配器明确知道要订阅哪些资源的事件。
    2. 检查模块的启动逻辑,确认适配器是否在模块的Initialize或Start阶段被正确初始化并注册到框架中。如果适配器未被启动,自然不会执行事件订阅操作。
  • 验证事件触发逻辑
    确保你的资源子类在合适的时机调用了OnProcessDataOccured方法来触发事件。如果触发逻辑被遗漏或执行时机错误,事件永远不会被调用,也不会有订阅者绑定。

  • 排查依赖注入容器配置
    确认资源实例和ProcessData适配器处于同一个依赖注入容器中,且适配器的生命周期覆盖了资源的生命周期。如果适配器在资源实例化之前就被销毁,或者无法通过容器获取到资源实例,就无法完成事件订阅。

内容的提问来源于stack exchange,提问作者1nf0rmagician

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 10:07:26