نشر متلقي الحدث دون الارتباط بأي قائمة
-
10-12-2019 - |
سؤال
لدي جهاز استقبال للأحداث قمت بتطويره باستخدام Visual Studio وأريد نشره.لكن في هذه الحالة أريد نشره دون ربطه بأي قائمة.(أضيف متلقي الحدث إلى قائمة محددة لاحقًا عبر PowerShell.)
أعلم أنه إذا قمت بتعيين Scope
ل Site
ثم سيقوم المتلقي بإطلاق النار على كافة القوائم والمكتبات.وأنا أعلم أنه إذا قمت بتعيين Scope
ل Web
وتقديم قيمة ل ListUrl
ثم سيتم ربطه فقط بالقائمة المحددة.
ومع ذلك، يبدو أنه إذا قمت بتعيين Scope
ل Web
ولا تحدد أ ListUrl
, ، فهو يتصرف بنفس الطريقة Site
ويربط بكل شيء.هنا هو الكود الخاص بي
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers Scope="Web">
<Receiver>
<Name>AutoNumberDocumentItemAdded</Name>
<Type>ItemAdded</Type
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>ArticleManagementWorkflow.AutoNumberDocument.AutoNumberDocument</Class>
<SequenceNumber>10000</SequenceNumber>
<Synchronization>Synchronous</Synchronization>
</Receiver>
</Receivers>
</Elements>
هل هناك طريقة لنشر وتنشيط جهاز الاستقبال دون الارتباط بأي شيء؟
المحلول
انشر متلقي الحدث ولا تقم بتنشيط الميزة. يقوم ملف العناصر بإرفاق متلقي الحدث بالقائمة فقط عند تنشيط الميزة.قم بإرفاق مستقبل الحدث بالقائمة من بوويرشيل الخاص بك بعد ذلك.
نصائح أخرى
هناك خيار آخر لكيفية إضافة متلقي الحدث إلى قائمة معينة - إضافة متلقي الحدث إلى نوع المحتوى.
خطوات:
- إنشاء نوع محتوى مخصص لقائمة
- أضف متلقي الحدث إلى نوع المحتوى
- أضف نوع المحتوى إلى قائمة محددة من أجل تسجيل مستقبل الحدث
في هذه الحالة، ستتمكن من التحكم في القائمة التي يجب تسجيل متلقي الأحداث عليها.
يرجى الرجوع إلى مقالة كبيرة الإرشادات التفصيلية 3 - تطوير جهاز استقبال الحدث لنوع المحتوى لمزيد من التفاصيل.
في حالتك لا تحتاج إلى ميزة.
كل ما تحتاجه هو مكتبة فئة مع فئة استقبال الأحداث الخاصة بك، وتوقيع التجميع ونشره إلى GAC.ثم باستخدام PowerShell قم بتسجيل متلقي الحدث للقائمة التي تريدها.
ماذا عن إرفاقها بقائمة وهمية غير موجودة فعليًا على الويب ثم إرفاقها لاحقًا بالقائمة الفعلية باستخدام Powershell.