ПрименитеWebConfigModification только к одному веб-приложению, а не ко всей ферме - PullRequest
0 голосов
/ 26 ноября 2009

Я хочу применить модификации web.config только к веб-приложению, на которое я устанавливаю свою функцию, а не ко всем web.configs фермы. я использую SPWebService.ApplyWebConfigModification, как я могу это сделать? Помогите пожалуйста

Ответы [ 2 ]

2 голосов
/ 26 ноября 2009

Функция, которую вы используете для развертывания модификаций, должна иметь область действия веб-приложения и иметь приемник функций, активация функции только в нужном веб-приложении должна помочь.

0 голосов
/ 26 ноября 2009
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
    using (SPSite site = ((SPSite)properties.Feature.Parent))
    {
        SPWebApplication webApplication = site.WebApplication;
        // webApplication.WebConfigModifications.Clear();
        // do modifications, using the feature.GetType().FullName as the Owner

        webApplication.Update();
        webApplication.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications();
    }
}

public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
    using (SPSite site = ((SPSite)properties.Feature.Parent))
    {
        SPWebApplication webApplication = site.WebApplication;
        Collection<SPWebConfigModification> entries = webApplication.WebConfigModifications;

        for (int i = entries.Count - 1; i >= 0; i--)
        {
            SPWebConfigModification entry = entries[i];
            if (entry.Owner == this.GetType().FullName)
                entries.Remove(entry);

        }

        webApplication.Update();
        webApplication.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications();
    }
}

Редактировать

Чтобы управлять текущими изменениями, не заходя непосредственно в SQL Server, используйте этот файл и скопируйте его в папку: C: \ Program Files \ Common Files \ Microsoft Shared \ расширения веб-сервера \ 12 \ TEMPLATE \ ADMIN и доступ к нему из http://centraladministration:PORT/_admin/webconfig.aspx

Оригинальные источники Блог TheKid и Блог Хармджана Гревинга

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...