Я новичок в SharePoint, поэтому я следую некоторым учебным пособиям Microsoft.Одним из упражнений является создание приемника функций для изменения файла Web.Config.Я обнаруживаю, что функция активирована или деактивирована, и вызываю следующую подпрограмму с соответствующим флагом.
void setProliferationFlag(bool status)
{
SPWebApplication webApp = SPWebApplication.Lookup(new Uri("http://SharePoint"));
try
{
SPWebConfigModification mySetting = null;
if (status)
{
mySetting = new SPWebConfigModification();
mySetting.Path = "configuration/appSettings";
mySetting.Name = "add [@key='preventProliferation'] [@value='1']";
mySetting.Sequence = 0;
mySetting.Owner = "Lab05Owner";
mySetting.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
mySetting.Value = "<add key='preventProliferation' value='1' />";
webApp.WebConfigModifications.Add(mySetting);
}
else
{
foreach (SPWebConfigModification modification in
webApp.WebConfigModifications)
{
if (modification.Owner == "Lab05Owner")
{
modification.Value = "<add key='preventProliferation' value='0' />";
}
}
}
webApp.Update();
webApp.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications();
}
catch
{
}
Приемники событий работают нормально.Когда я активирую функцию, этот код запускается, но когда он достигает строки «webApp.Update ()», он завершается с ошибкой «Отказано в доступе».Других ошибок на ошибке нет.Я не уверен, что доступ запрещен.Я работаю в своей среде разработки на своем ноутбуке.Это установка Sharepoint Server 2010 в Windows 7.
С уважением, Тим