Вопрос

Как мне получить SPSite объект из SPWebEventProperties объект передан в SPWebEventReceiver.WebProvisioned метод?

public override void WebProvisioned(SPWebEventProperties properties)
Это было полезно?

Решение

Нет необходимости создавать новый SPSite объект. Вместо этого используйте:

properties.Web.Site

Другие советы

Эта статья MSDN Лучшие методы безопасности для разработчиков в SharePoint 2010 Рекомендуется против построения объектов SPSITE с использованием GUID.

Безопасно построить объекты SPSite

Конструктор microsoft.sharepoint.spsite подвержен следующим двум проблемам:

Новые объекты SPSite могут быть построены с использованием полностью квалифицированного доменного имени, например, http://contoso1.example.com. Анкет Если это доменное имя отличается от текущего контекста запроса, оно может привести к проблеме безопасности междомена.

Новые объекты SPSITE могут быть построены с использованием идентификатора сайта (ID) и необязательного токена пользователя, но без полностью квалифицированного URL или Microsoft.SharePoint.administration.Spurlzone. Если текущий контекст запроса не является зоной по умолчанию, это может обойти политику веб -приложений.

Было бы безопаснее использовать

properties.Web.Site

Как посоветовал Андерс

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top