Frage

Ich habe eine benutzerdefinierte web.config -Funktionalität, die LINQ verwendet, um Elemente in einer auf einer Vorlagendatei basierenden Web.config zusammenzuführen. Ich möchte dies in einer Funktion verwenden, damit ich alle Web.configs in einer Lastausgleichsumgebung zusammenführen kann. Ich weiß, dass es so etwas wie SPWebConfigModification gibt, aber das Ausmaß der zu hinzufügen zugefügten Elemente ist groß und ich muss dynamischer wie die Vorlagenlösung sein. Ich weiß, dass ich es auf jedem Front -End -Server ausführen könnte, aber es wäre besser in einer Funktion oder Lösung.

Gibt es eine Möglichkeit, in einer Funktion in SharePoint 2007 auf das Web.config zugreifen zu können?

War es hilfreich?

Lösung

Wenn Sie sich wirklich sicher sind, dass Sie SPWebConfigModification nicht verwenden möchten, können Sie sich spwebservice.ApplyApplicationContentTolocalServer () ansehen. Dies hat die Fähigkeit, ganze Abschnitte in Konfigurationsdateien zu verschmelzen, jedoch die folgenden Vorbehalte:

  • Gilt nur für den lokalen Server (Hinweis ist im Namen!)
  • Muss von einem örtlichen Administrator aufgerufen werden

Die Kombination dieser beiden Vorbehalte bedeutet, dass Sie das normale Muster der Verwendung eines Timerjobs nicht verwenden können, um sicherzustellen, dass etwas auf allen Servern auf einem Bauernhof ausgeführt wird. Wenn Sie gerne einen Windows -Dienst schreiben würden, der diesen Webdienst bezeichnet würde, würde Sie ihn umrunden.

Meine Empfehlung wäre jedoch, mich an SPWebconfigModifcation zu halten. Unabhängig davon, wie groß ein benutzerdefinierter Abschnitt ist, geht er als Kinderknoten eines Knotens irgendwo in das Web.config. Es wäre sicherlich möglich, Ihre Merge -Funktionalität mit SPWebConfigModification zu kombinieren (dh der Abgabe des zusammengeführten XML -Rufe bei SPWebconfigModification), und dann können Sie sicher sein, dass die Änderung auf dem gesamten Farm angewendet wird. Außerdem ist es einfach, Code zu schreiben, um die Änderungen zu entfernen (z. B. in der Funktion, die deaktiviert ist, wenn Ihr Hostcode ein Feature -Empfänger ist).

Andere Tipps

Haben Sie keinen Quellcode der Fusionsanwendung? Ich denke, Sie können SharePoint -API möglicherweise verwenden, um auf die Datei web.conf zuzugreifen, einschließlich Ihres Codes in einer Funktion.

Klingt zumindest interessant,

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top