私は、2つのドキュメントライブラリーと関連付ける予定のアイテム更新イベント受信機を持っています。1イベントレシーバーと2つのドキュメントライブラリーを関連付ける
私はイベント受信機をListTemplateId = "101"に関連付けました。だからこのイベントレシーバーはすべてのドキュメントライブラリのために発砲していました!それは私が欲しくないものですが、私はそれをきれいに避けることができませんでした。したがって、コードの最初の行の回避策として、イベント受信者が呼び出されたライブラリをチェックし、目的のライブラリでない場合は返されます。
は、その後、私は少しにelements.xml約レシーバタグを読んで、私はelements.xmlに複数レシーバタグを登録できることを見出しました。そこで、以下のようなelements.xmlを変更しました。
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers ListUrl="DocLib1">
<Receiver>
<Name>EventReceiver1ItemAdded</Name>
<Type>ItemAdded</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>NM1.EventReceiver1.EventReceiver1</Class>
<SequenceNumber>10000</SequenceNumber>
<Synchronization>Synchronous</Synchronization>
</Receiver>
</Receivers>
<Receivers ListUrl="DocLib2">
<Receiver>
<Name>EventReceiver1ItemAdded</Name>
<Type>ItemAdded</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>NM1.EventReceiver1.EventReceiver1</Class>
<SequenceNumber>10000</SequenceNumber>
<Synchronization>Synchronous</Synchronization>
</Receiver>
</Receivers>
</Elements>
イベントレシーバがこれらの2つのdocライブラリのみに関連付けられることを望んでいます。しかし、実際には、イベントのレシーバがDocLib1(elements.xmlの最初のレシーバ)にのみ添付されていることである
私が達成しようとしていますが私はアプローチで可能になる場合、誰かが私を導くことができます私のアプローチを変更する必要がありますか?
おかげ
アマール
これは、既存のアプリケーションであり、ドキュメントのLIBSは、すでに大量のデータが含まれています。私は生産でそれらと一緒に遊んであまりにも快適ではない。あなたが提案した2番目のソリューションについては、すでに実装しています(**最初のコード行の回避策として、イベント受信者が呼び出されたライブラリをチェックし、意図したライブラリでない場合は返されます)。 )。 – Amar