У меня есть небольшая проблема здесь в отношении модификации файлов web.config в Feature Штамповка (SP2010 [Web Feature Уровень приложений, Активация по умолчанию])Проблема изменения Web.Config в SharePoint
я столкнулся два странных Вопросы
- Применяемая модификация типа (добавление дочернего узла) появляется несколько раз в web.config.
- При отключении функции, я удаляю модификацию против владельца, она получает модификацию, но Они не удаляются.
Я использую следующий снимок кода во время активации функции.
ModificationEntry[] enries =
{
new ModificationEntry("someName", "someSection", SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode)
};
SPWebApplication WebApp = (SPWebApplication)properties.Feature.Parent;
WebApp.WebConfigModifications.Clear();
foreach (ModificationEntry entry in enries)
{
// CreateModification simply return me SPWebConfigModification
SPWebConfigModification configModificationItem = CreateModification(entry, properties.Feature.DefinitionId.ToString());
if (!WebApp.WebConfigModifications.Contains(configModificationItem))
{
WebApp.WebConfigModifications.Add(configModificationItem);
}
}
WebApp.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications();
WebApp.Update();
Это то, что я делаю при деактивации функции.
if (webApp != null)
{
Collection<SPWebConfigModification> collection = webApp.WebConfigModifications;
int iStartCount = collection.Count;
// Remove any modifications that were originally created by the owner.
for (int c = iStartCount - 1; c >= 0; c--)
{
SPWebConfigModification configMod = collection[c];
if (configMod.Owner == properties.Feature.DefinitionId.ToString())
collection.Remove(configMod);
}
// Apply changes only if any items were removed.
if (iStartCount > collection.Count)
{
webApp.Update();
webApp.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications();
}
}
Прокомментируйте!
где код для модификацииEntry/CreateModification. Кажется, у вас нет переменной «path» (если это не someSection), но тогда где «значение», – djeeg