Domanda

Ho funzionalità web.config personalizzato che utilizza LINQ to elementi di unione in una web.config basata su un file di modello. Vorrei utilizzare questo in una caratteristica così posso farlo per unire tutti i web.configs in un ambiente di bilanciamento del carico. So che c'è qualcosa che si chiama SPWebConfigModification, ma la portata degli elementi da aggiungere è di grandi dimensioni e ho bisogno di essere più dinamico come la soluzione di modello. So che potrei farlo funzionare su ogni server front-end, ma sarebbe meglio in una caratteristica o una soluzione.

C'è un modo per ottenere l'accesso al file web.config in una funzionalità di SharePoint 2007?

È stato utile?

Soluzione

Se sei veramente sicuro che non si desidera utilizzare SPWebConfigModification, si poteva guardare SPWebService.ApplyApplicationContentToLocalServer () - questo ha la capacità di fondere intere sezioni in file di configurazione, ma ha le seguenti avvertenze:

  • si applica solo al server locale (indizio è nel nome!)
  • Deve essere chiamato da un amministratore locale

La combinazione di questi due avvertimenti significa che non è possibile utilizzare il normale modello di utilizzo di un processo timer per garantire qualcosa esegue su tutti i server di una farm. Se si dovesse felice di dire di scrittura, un servizio di Windows che chiamare questo servizio web, bene che si otterrebbe intorno ad esso.

Tuttavia il mio consiglio sarebbe quello di attaccare con SPWebConfigModifcation. Indipendentemente da quanto è grande un sezione personalizzata è, sta andando in web.config come nodo figlio di un nodo da qualche parte in modo può essere aggiunto come un 'EnsureChildNode'. Sarebbe certamente possibile combinare la funzionalità di unione con SPWebConfigModification (vale a dire passare l'XML risultante dalla concentrazione di chiamate a SPWebConfigModification), e poi si può essere sicuri che il cambiamento sarà applicata in tutta l'azienda. Inoltre, è facile scrivere il codice per rimuovere le modifiche (ad esempio in funzione dell'evento Disattivato se il codice host è un ricevitore Feature).

Altri suggerimenti

Non hai il codice sorgente dell'applicazione fusione? Credo che si può essere in grado di utilizzare SharePoint API per accedere al file web.conf, tra cui il codice in una funzione.

Sembra interessante, almeno,

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top