Compartilhar via


HOW TO: Use o modelo de objeto para modificar Web.config

Em Windows SharePoint Services 3.0, você pode modificar as configurações de Web.config, criando um arquivo XML que descreve as modificações, ou você pode executar a mesma tarefa programaticamente usando o SPWebConfigModification T:Microsoft.SharePoint.Administration.SPWebConfigModification do Microsoft.SharePoint.Administration espaço para nome, que permite a entidades registrar dinamicamente.

Exemplo

O seguinte exemplo mostra como usar a classe SPWebConfigModification T:Microsoft.SharePoint.Administration.SPWebConfigModification para registrar um personalizado assembly. Para obter informações adicionais sobre como criar um aplicativo que implementa o exemplo, consulte Guia de Introdução Com programaticamente personalizar uma Web Site SharePoint em Visual Studio Programmatically Customizing.

                    Dim service As SPWebService = SPWebService.ContentService

Dim myModification As New SPWebConfigModification()
myModification.Path = "configuration/SharePoint/SafeControls"
myModification.Name = "SafeControl[@Assembly='MyCustomAssembly'][@Namespace='MyCustomNamespace'][@Typename='*'][@Safe='True']"
myModification.Sequence = 0
myModification.Owner = "User Name"
myModification.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode
myModification.Value = "<SafeControl Assembly='MyCustomAssembly' Namespace='MyCustomNamespace' Typename='*' Safe='True' />"
service.WebConfigModifications.Add(myModification)

'Call Update and ApplyWebConfigModifications to save changes
service.Update()
service.ApplyWebConfigModifications()
                    SPWebService service = SPWebService.ContentService;

SPWebConfigModification myModification = new SPWebConfigModification();
myModification.Path = "configuration/SharePoint/SafeControls";
myModification.Name = "SafeControl[@Assembly='MyCustomAssembly'][@Namespace='MyCustomNamespace'][@Typename='*'][@Safe='True']";
myModification.Sequence = 0;
myModification.Owner = "User Name";
myModification.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
myModification.Value = "<SafeControl Assembly='MyCustomAssembly' Namespace='MyCustomNamespace' Typename='*' Safe='True' />";
service.WebConfigModifications.Add(myModification);
 
/*Call Update and ApplyWebConfigModifications to save changes*/ 
service.Update();
service.ApplyWebConfigModifications();

O exemplo, a Name P:Microsoft.SharePoint.Administration.SPWebConfigModification.Name propriedade contém uma declaração XPath que identifica o nó, que garante que duplicatas do nó não são adicionadas ao arquivo.

Chamar o ApplyWebConfigModifications M:Microsoft.SharePoint.Administration.SPWebService.ApplyWebConfigModifications método agenda um trabalho timer para implantar as alterações em todo o farm servidor. Para aplicar uma modificação web.config para um aplicativo da Web específico, adicionar a modificação para a coleção de modificações web.config para o aplicativo da Web ( WebConfigModifications). Para exemplo, você pode utilizar oWebSite.Site.WebApplication.WebConfigModifications.Add(MyModification) para adicionar uma modificação web.config para o pai aplicativo da Web de um site específico.

Observação

Você deve ser um administrador sobre o servidor Web front-end para seu codificar para trabalho.