Развертывание функции на одном сайте sharepoint / Как выбрать один сайт sharepoint - PullRequest
2 голосов
/ 28 октября 2009

Я пытаюсь развернуть набор функций и для этого мне нужно выбрать целевой сайт и затем использовать:

objWeb.Features.Add (новый Guid ({guid of feature}));

мой вопрос: как мне выбрать этот сайт, вся помощь, которую я нашел, создает сайт с помощью его конструктора, а затем отслеживает его, где я хочу открыть существующий.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 28 октября 2009

Это зависит от того, где вы хотите выполнить свой код. Если у вас есть контекст sharepoint, вы можете использовать

SPWeb oWebsite = SPContext.Current.Web;
oWebsite.Features.Add(new Guid({guid of feature}));

или

using(SPWeb oWebsite = SPContext.Current.Site.OpenWeb("Website_URL"))
{
    oWebsite.Features.Add(new Guid({guid of feature}));
}

Если вы, например, использовали консольное приложение и не имели SPContext, вы могли бы использовать

using(SPSite oSiteCollection = new SPSite("http://Server_Name"))
{
    using(SPWeb oWebsite = oSiteCollection.OpenWeb("Website_URL"))
    {
        oWebsite.Features.Add(new Guid({guid of feature}));
    }
}

Есть много других способов получить объект SPWeb, но это зависит от того, какая у вас информация о сайте (имя, URL, позиция в иерархии)

Если вы хотите активировать функцию, относящуюся к семейству сайтов или веб-приложению, вы можете получить SPSite или SPWebApplication аналогичным образом.

SPSite:

SPContext.Current.Site

или

SPSite oSiteCollection = new SPSite("Absolute_URL")

SPWebApplication:

SPContext.Current.Site.WebApplication

или

SPWebApplication.Lookup(new Uri("http://MyServer:989"));

и на любом из этих объектов вы можете позвонить

object.Features.Add(...))

Так же, как приведенный выше код.

Примечание. Область действия функции указана в файле feature.xml, подробности см. В следующем: http://msdn.microsoft.com/en-us/library/ms436075.aspx

0 голосов
/ 28 октября 2009

Для функций веб-области используйте:

using (SPWeb currentSite = SPContext.Current.Web)
{
  currentSite.WebFeatures.Add(new Guid("{GUID}"));
}

Для функций на уровне сайта используйте:

using (SPWeb currentSite = SPContext.Current.Web)
{
  currentSite.Features.Add(new Guid("{GUID}"));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...