Pregunta

I tiene una funcionalidad web.config personalizada que utiliza LINQ a los elementos se funden en un web.config basado en un archivo de plantilla. Me gustaría utilizar esto en una función para que pueda llegar a fusionar todas web.configs en un entorno de equilibrio de carga. Sé que hay algo que se llama SPWebConfigModification, pero la extensión de los elementos a añadir es grande y necesito que sea más dinámico, como la solución de la plantilla. Sé que podría ejecutarlo en cada servidor front-end, pero sería mejor en una función o solución.

¿Hay una manera de obtener acceso al web.config en una característica en SharePoint 2007?

¿Fue útil?

Solución

Si usted está realmente seguro de que no desea utilizar SPWebConfigModification, usted podría mirar a SPWebService.ApplyApplicationContentToLocalServer () - este tiene la capacidad de unir secciones enteras en los archivos de configuración, pero tiene las siguientes salvedades:

  • Sólo se aplica al servidor local (pista está en el nombre!)
  • Debe ser llamado por un administrador local

La combinación de estas dos advertencias significa que no puede utilizar el patrón normal de la utilización de un trabajo del temporizador para asegurar algo que se ejecuta en todos los servidores de la comunidad. Si se va feliz de decir de escritura, un servicio de Windows que llamar a este servicio web, así que le llevaría a su alrededor.

Sin embargo, mi recomendación sería la de seguir con SPWebConfigModifcation. Independientemente de lo grande que es una sección personalizada, que va en el web.config como un nodo hijo de un nodo en algún lugar lo que puede ser añadido como una 'EnsureChildNode'. Ciertamente, sería posible combinar la funcionalidad de su fusión con SPWebConfigModification (es decir pase en el XML resultante de la fusión de las llamadas a SPWebConfigModification), y entonces usted puede estar seguro será aplicado el cambio en toda la granja. Además, es fácil de escribir código para eliminar los cambios (por ejemplo, en el caso Desactivado función si el código de host es un receptor de funciones).

Otros consejos

No tiene código fuente de la aplicación fusión? Creo que se puede ser capaz de utilizar la API de SharePoint para acceder al archivo web.conf, incluyendo el código de una función.

suena interesante, al menos,

Licenciado bajo: CC-BY-SA con atribución
scroll top