2010-11-07 93 views
0

什么是使用代码在SharePoint中修改web.config的最佳方式?我可以使用SPWebConfigModification或PowerShell。什么是使用代码修改SharePoint中的web.config的最佳方式

+0

取决于使用情况,您可以使用PowerShell,我只是写上[通过PowerShell的修改web.config文件]博客文章(http://gavinb.net/2011/06/13 /禁用移动重定向换一个-web的应用程序通的powershell /) – GavinB 2011-06-17 06:18:31

回答

1

你可以从VS 2010的代码的web.config修改。请参阅下面的代码以获取相同的示例。我实施了

  //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

2

如果要使用代码执行此操作,SPWebConfigModification将是一个不错的选择,因为这样可以处理场中所有前端Web服务器上的web.config修改。通过PowerShell执行它几乎就像手动修改它,这对于SharePoint环境来说是令人沮丧的做法。

如果您使用的是FEATURES,您可能希望将代码放入Feature Receivers。

如果声明性修改满足您的需要,那么您可能更喜欢(通过代码方法)。像SafeControl这样的条目本来就受到Feature框架的支持,它应该是这些条目的首选。声明修改的另一个变化是通过补充config文件,如下所述:

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

相关问题