Я работаю над интеграцией SharePoint 2010, у которой есть SPItemEventReceiver для обработки событий ItemAdded и ItemUpdated для списка библиотеки документов. Я добавил конструктор для обработки некоторой инициализации для приемника событий. При тестировании/отладке я заметил, что когда моя функция активирована (функция, содержащая этот приемник событий), мой приемник событий инициализируется 12 раз. Я пытался выяснить, почему конструктор называется 12 раз и задается вопросом, будут ли все 12 экземпляров жить до тех пор, пока функция не будет отключена, или если мне нужно быть осторожным, так как некоторые из них могут быть собраны мусором по дороге. Кто-нибудь знает, почему есть 12 и какова их продолжительность жизни?SharePoint 2010 - SPItemEventReceiver инициализирован 12 раз
ответ
Я бы не сказал, что магическое число 12 имеет значение; это просто масштабирование для вас. Несмотря на это, получатели событий SharePoint не должны зависеть от одноэлементной семантики. Важно то, что для каждого уникального события, вы можете быть уверены, что только один из этих приемников событий будет обрабатывать событие, если вы случайно не добавили 12 в том же списке ;-)
-Oisin
Droping 12 файлов Судебный просмотр будет причиной такого влияния.
Это привело бы к 12 добавленным событиям, но я вижу, что 12 приемников событий имеют свой конструктор, хотя для каждого файла вызывается только 1 обработчик событий. – pstrjds
Обязательно удалите приемник событий при деактивации функции. Это часто случается в средах разработчиков, так как многие люди создают свой активированный код при активации функции, но не деактивируют код и заканчивают кучей приемников в списке и т. Д.
Проблема заключалась в количестве вызовов конструктора для приемников на активаторе, а не на сиротах. Это концепция хорошей практики, так как хорошо удалить себя при деактивации, но деактивация не имеет ничего общего с этой проблемой. – pstrjds
Вы также можете попробовать создать статические элементы в классе, который должен получить некоторые из того, что вам нужно. Вы должны были бы проверить это, хотя я не могу обещать, что это сработает.
Добро пожаловать в stackoverflow! Всегда лучше предоставить примерный код для вашего вопроса, если это возможно, улучшить точность сообщения и получить лучшие результаты. Хорошего дня :) –
- 1. Конфигурация среды SharePoint SPItemEventReceiver
- 2. SPItemEventReceiver Context SiteId/WebUrl Неправильно
- 3. UWP инициализирован несколько раз
- 4. имя группировки в sharepoint 2010 с использованием sharepoint designer 2010
- 5. SharePoint 2010
- 6. Событие обновления статьи SharePoint 2010
- 7. SPItemEventReceiver не срабатывает при отладке
- 8. jssor слайдер + SharePoint 2010
- 9. Sharepoint 2010 UploadCtl Control
- 10. AjaxControlsToolkit в SharePoint 2010
- 11. AppWidget обновить 12 раз
- 12. SharePoint 2010 Content Organizer Issue
- 13. Открытие SharePoint 2010 Foundation сайта в SharePoint Designer 2010
- 14. Sharepoint 2010 для разных пользователей и администраторов Sharepoint 2010
- 15. Редактирование Sharepoint 2010 Просмотр библиотеки объектов в SharePoint Designer 2010
- 16. Sharepoint Server 2010 или Sharepoint Foundation 2010 для разработки?
- 17. __SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED при переносе в SharePoint 2010
- 18. SharePoint 2010 Master Page
- 19. SharePoint 2010 - Формула IsNotBlank
- 20. SharePoint 2010 Webpart Chrome
- 21. Копирование сайта SharePoint 2010
- 22. Разработка для Sharepoint 2010
- 23. Sharepoint 2010 Загрузить документы
- 24. DropdownList в Sharepoint 2010
- 25. SharePoint 2010 и FBA
- 26. Карта сайта SharePoint 2010
- 27. Sharepoint 2010 Пользовательские свойства
- 28. Настройки списка Sharepoint 2010
- 29. Веб-сайт SharePoint 2010
- 30. SharePoint 2010 using minimal.master
Так что это, вероятно, будет таким же, даже если бы я добавил его в свою функцию, активированную программно, а не разрешать упаковку «wsp» обрабатывать развертывание. Есть ли способ получить семантику инициализации «singleton» для приемника событий. Моя цель - настроить просмотр папки в другом потоке. – pstrjds
Я предполагаю, что еще один вопрос, который я должен задать, вы упомянули, что «приемники событий SharePoint не должны зависеть от синтаксической семантики» есть ли какая-то документация вдоль этих строк? Я не сомневаюсь в этом, я новичок в разработке SharePoint и веб-стиле, я занимаюсь разработкой настольных систем C++/COM/C# в течение нескольких лет. – pstrjds
Нет документации по этому конкретному пункту для приемников событий, но там больше вы занимаетесь веб-разработкой, вы поймете, что это относится ко всему. HTTP является апатридом, независимо от того, как ASP.NET использует viewstate, чтобы вы думали иначе. Попытка предположить, что только один человек будет выполнять вашу страницу aspx в любой момент, является хорошим аналогом. Веб - это все о параллелизме, и это глубоко проникает в стек. – x0n