Каков наилучший способ изменения файла web.config в SharePoint с использованием кода - PullRequest
0 голосов
/ 08 ноября 2010

Каков наилучший способ изменения файла web.config в SharePoint с использованием кода? Я мог бы использовать SPWebConfigModification или powershell.

Ответы [ 2 ]

2 голосов
/ 08 ноября 2010

Если вы хотите сделать это с помощью кода, SPWebConfigModification будет хорошим выбором, поскольку он позаботится об изменениях web.config на всех интерфейсных веб-серверах вашей фермы. Делать это через PowerShell - это все равно, что изменять его вручную, что не рекомендуется для среды SharePoint.

Если вы используете FEATURES, вы можете поместить свой код в Feature Receivers.

Если декларативные изменения удовлетворяют вашим потребностям, вы можете предпочесть это (вместо подхода с кодом). Такие записи, как SafeControl, изначально поддерживаются средой Feature Feature, которая должна быть первым выбором для таких записей. Еще один вариант декларативных изменений - через дополнительный файл .config, как описано ниже:

http://msdn.microsoft.com/en-us/library/ms460914.aspx

1 голос
/ 15 ноября 2010

Вы можете вносить изменения в web.config из кода VS 2010. Посмотрите код ниже для образца того же самого. Я реализовал

            //Add tagMapping
            string modificationName = string.Format(@"add[@tagType='Microsoft.SharePoint.WebControls.PeopleEditor'][@mappedTagType='PeopleEditor.CustPeopleFind,{0}']", 
                Assembly.GetExecutingAssembly().FullName);
            SPWebConfigModification modification = new SPWebConfigModification //(modificationName, "configuration/system.web/pages/tagMapping");
            {
                Path = "configuration/system.web/pages/tagMapping",
                Name = modificationName,
                Value = string.Format(@"<add tagType=""Microsoft.SharePoint.WebControls.PeopleEditor"" mappedTagType=""PeopleEditor.CustPeopleFind"" />"),
                Owner = ownerID,
                Sequence = 1,
                Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode                    
            };
            webApp.WebConfigModifications.Add(modification);

            //Save changes
            webApp.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications();

            //Serialize and propagate changes across farm
            webApp.Update();

            //Create the persistent objects
            Common.CreatePersistentObjects(webApp);

Но я также должен вас предупредить, многие эксперты SharePoint не рекомендуют вносить изменения в файл web.config с помощью кода.

Всего наилучшего

-Vighnesh

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