微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SharePoint 2010事件侦听器-具有多线程的SPItemEventReceiver

如何解决SharePoint 2010事件侦听器-具有多线程的SPItemEventReceiver

|| 我有一个实现“ 0”的事件处理程序dll。我喜欢在此dll中运行后台线程。事件将传递到此后台线程进行处理,以便事件处理方法不会被阻塞。 SharePoint 2010加载dll,但线程无法启动。我也不能使用
ThreadPool
类。这是SharePoint对外部事件处理程序施加的限制吗?我该如何解决?     

解决方法

假设您正在使用“ post”事件(ItemAdded,ItemUpdated),则只需将它们注册为异步模式。然后,事件处理程序的事件将在自己的线程中运行,而不是阻塞。 当心事件处理程序与显示您的编辑表单之间的竞争状况(即事件处理程序在显示了编辑表单后会更新您的项目)。
SPEventReceiverDefinition eventReceiver = eventReceivers.Add();
eventReceiver.Name = receiverName;
eventReceiver.Synchronization = SPEventReceiverSynchronization.Asynchronous; 
eventReceiver.Type = SPEventReceiverType.ItemAdded;
eventReceiver.SequenceNumber = sequenceNumber; 
eventReceiver.Assembly = assemblyFullName ;
eventReceiver.Class = assemblyClassName ;
eventReceiver.Data = receiverData ;

eventReceiver.Update();
http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.speventreceiverdefinition.synchronization.aspx     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。