东莞市连易网络科技有限公司
东莞市连易网络科技有限公司
  • 网站
  • 用户
  • 购物车
  • 购物车
  • 搜索
  • 网站
  • 用户
帮助
帮助
开发文档 处理事件
  • 用户文档
  • 开发文档
  • API文档
  • 提及
  • 标签
  • 更多
  • 取消
  • 新建
  • +开始
  • +UI 自定义
  • +外部集成
  • -插件/框架扩展
    • -插件
      • 异常和日志记录
      • 插件生命周期
      • -插件示例
        • 使用小组件从插件渲染内容
        • 公开数据给外部源
        • 公开配置选项
        • 创建动态
        • +创建自定义应用程序和内容
        • 基于模板的电子邮件
        • 处理事件
        • 处理内容中的嵌入文件
        • 定义权限
        • 扩展规则支持
        • 文件交互
        • 文件查看器
        • 注册模板令牌
        • 管理依赖关系
        • 管理物理文件存储
        • 翻译插件文本
        • 通知
    • +设置开发环境
    • +进程 API

处理事件

事件是对平台中发生的操作做出反应的方式。每个事件执行器都会创建正在执行的内容副本。进程 API 用于访问平台事件。若要了解哪些事件可用,请参阅进程 API 服务。

创建事件处理程序的最佳做法是使用 IPlugin 接口的 Initialize 方法。这允许您的插件快速响应平台中的更改,并允许管理员在必要时启用或禁用您的功能。

为什么我应该在插件中处理事件

通过设置事件处理程序,您的解决方案可以在平台中发生特定事件时立即做出反应。这些事件通常围绕之前和之后的两种状态展开。这允许用户确定要在流程中的哪个阶段执行操作。

创建 Before 事件处理程序将使您能够访问将在执行特定事件之前返回的可编辑事件参数。例如,在 BeforeCreate 事件中,您可以为纯文本的字段去除 HTML 标记,然后,这些更改将应用于内部对象,并将执行保存过程。

对于 After 事件处理程序,情况正好相反 。所有更改都已处理,您将收到一个只读参数。AfterCreate 事件可用于发送通知。在这种情况下,Before 事件处理程序可能会从内容中删除粗言秽语或侮辱性语言,并且在处理后可以安全地发送。这是一个重要的区别,因为无法设置或确定注册事件的顺序。

创建事件处理程序

此示例使用 IPlugin 接口的 Initialize 方法为博客文章注册 BeforeCreated 事件处理程序。然后,处理程序方法将一条消息写入事件日志。

public void Initialize()
{
    Apis.Get<Blogs>().Events.BeforeCreate += new BlogBeforeCreateEventHandler(BlogEvent_BeforeCreate);
}

private void BlogEvent_BeforeCreate(BlogBeforeCreateEventArgs blog)
{
    var message = string.Format("A blog post with the title "{0}" is about to be created.", blog.Name);
    var options = new EventLogEntryWriteOptions
    {
        Category = "Samples"
    };

    Apis.Get<EventLog>().Write(message, options);
}

  • 分享
  • 历史
  • 更多
  • 取消
相关
推荐
Copyright © 2021 东莞市连易网络科技有限公司. All rights reserved.
Powered by Limyee Commerce System(3.0.0). © 2014 - 2025 Limyee Inc.