Dialogfeld „SharePoint – Verbindungszeichenfolge“ während des FeatureActivated-Ereignisses

StackOverflow https://stackoverflow.com/questions/8849

  •  08-06-2019
  •  | 
  •  

Frage

Weiß jemand, ob es möglich ist, einem Benutzer/Administrator beim Aktivieren oder Installieren einer Sharepoint-Funktion eine Eingabeaufforderung anzuzeigen?

Ich schreibe ein benutzerdefiniertes Webpart und es stellt eine Verbindung zu einer separaten Datenbank her. Ich möchte dem Administrator erlauben, bei der Installation der WSP-Datei oder der Aktivierung der Funktion eine Verbindungszeichenfolge auszuwählen oder einzugeben.

Ich schaue in das FeatureActivated-Ereignis und denke darüber nach, die SPWebConfigModification-Klasse zu verwenden, um die Verbindungszeichenfolge tatsächlich in die web.config-Dateien in der Farm zu schreiben.

Ich möchte die web.configs nicht manuell bearbeiten oder die Zeichenfolge fest in die DLL codieren.

Wenn Sie über andere Methoden zum Umgang mit Verbindungszeichenfolgen innerhalb von Sharepoint verfügen, wären diese auch für mich interessant.

War es hilfreich?

Lösung

Leider gibt es keine Möglichkeit, zu einem Bildschirm zu wechseln, auf dem Sie über den Funktionsaktivierungsprozess Benutzer erhalten können.Ein paar Kommentare für Sie:

  1. Ich gehe davon aus, dass die Verbindungszeichenfolge für jede Installation unterschiedlich sein wird, sodass Sie sie nicht direkt in die Lösung einbinden können.
  2. Ich gehe davon aus, dass Sie dies während der Installation nicht programmgesteuert erstellen konnten.

Daher benötigen Sie eine Möglichkeit, Benutzereingaben zu erhalten.Hier sind einige Optionen:

  1. Es könnte sich um eine Webpart-Eigenschaft handeln. Dies würde jedoch bedeuten, dass sie jedes Mal neu festgelegt wird, wenn das Webpart hinzugefügt wird, und Sie müssten diese Einstellungen dann einzeln beibehalten.
  2. Sie könnten Ihren eigenen _layouts-Einstellungsbildschirm erstellen (guter Beitrag: http://community.zevenseas.com/Blogs/Robin/archive/2008/03/17/lcm-creating-custom-application-page-and-using-the-propertybag-more-detailed.aspx), und von dort aus können Benutzer die Eigenschaft verwalten und sie entweder in der Web-Eigenschaftentasche oder in der Web.Config speichern.Ich versuche, die Verwendung von Web.Config zu vermeiden, wo ich kann, aber wenn Sie diesen Weg gehen möchten, stellen Sie sicher, dass Sie die SPWebConfigModification-Klasse verwenden (Lesen Sie diesen tollen Blog: http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=32)
  3. Eine Technik, die ich häufig verwende, ist schließlich das Speichern von Konfigurationsinformationen in einer SharePoint-Liste.Chris O'Brien hat hier einen tollen Rahmen dafür: http://www.codeplex.com/SPConfigStore

Hoffe das hilft, Daniel

Andere Tipps

Hört sich gut an.Ich werde mir diese möglichen Lösungen ansehen.

Ich glaube nicht, dass Nr. 1 funktionieren wird, da ich mehrere Webparts in einer einzigen Lösung bereitstelle, die alle denselben ConnectionString verwenden.

#3 klingt nach einer sehr sauberen Lösung.Ich sehe, dass die Konfigurationselemente zwischengespeichert sind. Wenn ich also eine Verbindungszeichenfolge speichern muss, werde ich nicht jedes Mal mit einer SP-Suche konfrontiert, wenn ich diese Zeichenfolge benötige.

Bei der Suche nach einer Lösung bin ich auf eine andere Methode gestoßen.

Wenn man sich in ihrem Code umsieht, sehe ich so aus, als hätten sie ein Installationsprogramm erstellt, das anwendungsspezifische Werte akzeptiert, die Werte in eine FeatureTemplate.xml-Datei einfügt und sie an das SPFeatureReceiverProperties-Objekt im Reciever übergibt.

Ich wollte gerade mit dieser Methode beginnen, aber ich denke, Nummer 3 wäre besser.

Danke, Keith

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top