В настоящее время я создаю приложение, которое будет анализировать все записи аудита в семействе сайтов и отправлять пользователям красивые электронные письма.
Моя проблема заключается в том, что электронные письма должны быть основаны на определенной сети (по сути, это электронное письмо, в котором обобщаются изменения, произошедшие с каждым дочерним сайтом). По-видимому, в объекте SPAuditEntry нет информации о сети, из которой он получен, за исключением свойства DocLocation.
Это означает, что я могу получить любое из следующих DocLocations (ItemType = Document, Event = Update):
- sites / MySiteCollection / Documents / Это test.doc
- sites / MySiteCollection / Шаблоны отчетов / audit.xml
- sites / MySiteCollection / Списки / Метаданные отчетности / 1_.000
- сайты / MySiteCollection / MySubSite1 / Lists / Объявления / 2_.000
- sites / MySiteCollection / MySubSite1 / Шаблоны документов / SampleTestEmail.doc
Я думаю, что, возможно, смогу определить сеть по URL-адресу, используя SPSite.AllWebs.Names, если потребуется.
В: Как мне определить, из какого SPWeb происходит конкретный SPAuditEntry?