SharePoint中的Event Receivers 之一 Event Receiver基础
Event Receivers代表着一种开发扩展能力的机制, 通过它可以为列表和列表项等元素添加行为. Event Receiver是一个类, 包含一个或多个叫做"event handler"的, 被WSS自动执行的方法, 这些方法会响应事件, 比如说用户向列表添加一个column, 或者用户删除了一个列表项. Event hannler写好之后, 典型地被用在data validation上, 来确保数据完整性, 或者开启自定义的商业逻辑的处理.
被WSS支持的Event可以被分为两个种类: before events 和 after events.
before event会在动作执行完成之前被触发. 比如说, 当一个用户试图为列表添加一个新的column的时候, WSS触发一个FieldAdding的事件. 这就是所说的before event, 因为他在field被添加到List之前就触发了, 并且这个事件给了developer一个机会来提供event handler, 可以取消触发时间动作. Before event是在处理请求的thread中用blocking的方式同步地执行的. 正因为如此, before event常常被称为synchronous events.
after event不同, 因为它是在动作结束之后才被触发的, 它不提供给开发者机会来取消这个动作. 比如说WSS会触发一个ItemAdded的事件, 在一个Item被添加到列表的时候. 像这样的after event提供给开发者机会去写一个event handler来触发自定义的商业处理, 诸如重新格式化item的一个field的值. 注意, after event是nonblocking的, 因为他们是在另一个thread里异步地执行的. 正因为如此, after events常常被称作asynchronous events.
小提示: Event Receiver与WSS2.0中的Event Sink是相等同的概念, 尽管Event receiver能够被应用到任何一种类型的列表上, 而WSS 2.0 中的Event Sink只能应用到基于文档库的列表
译:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律