SharePoint - диалоговое окно «Строка подключения» во время события FeatureActivation - PullRequest
2 голосов
/ 12 августа 2008

Кто-нибудь знает, возможно ли отобразить приглашение пользователю / администратору при активации или установке функции sharepoint?

Я пишу пользовательскую веб-часть, и она подключается к отдельной базе данных. Я хотел бы разрешить администратору выбирать или вводить строку подключения при установке файла .wsp или активации функции.

Я смотрю в событие FeatureActivation и думаю об использовании класса SPWebConfigModification для фактической записи строки подключения в файлы web.config в ферме.

Я не хочу вручную редактировать файл web.configs или жестко кодировать строку в DLL.

Если у вас есть другие методы для обработки строк соединения внутри sharepoint, я бы также заинтересовался ими.

Ответы [ 2 ]

1 голос
/ 13 августа 2008

К сожалению, нет способа перейти на экран, где вы можете получить пользователя через процесс активации функции. Пара комментариев для вас:

  1. Я предполагаю, что строка подключения будет отличаться для каждой установки, поэтому вы не сможете напрямую включить ее в Решение.
  2. Я предполагаю, что вы не могли программно сконструировать это во время установки.

Поэтому вам нужен какой-то способ получить пользовательский ввод. Вот несколько вариантов:

  1. Это может быть свойство веб-части, хотя это будет означать его настройку каждый раз, когда веб-часть добавляется, и вам нужно будет затем сохранить эти настройки по отдельности.
  2. Вы можете создать свой собственный экран настроек _layouts (хороший пост: http://community.zevenseas.com/Blogs/Robin/archive/2008/03/17/lcm-creating-custom-application-page-and-using-the-propertybag-more-detailed.aspx),, и оттуда пользователи могут поддерживать свойство, сохраняя его либо в пакете веб-свойств, либо внутри Web.Config. Старайтесь не использовать Web.Config там, где я могу, но если вы действительно хотите пойти по этому пути, УБЕДИТЕСЬ, что вы используете класс SPWebConfigModification.
  3. Наконец, метод, который я часто использую, заключается в хранении информации о конфигурации в списке SharePoint. Крис О'Брайен имеет отличную основу для этого здесь: http://www.codeplex.com/SPConfigStore

Надеюсь, это поможет, Daniel

0 голосов
/ 13 августа 2008

Звучит хорошо. Я посмотрю на эти возможные решения.

Я не думаю, что # 1 будет работать, так как я развертываю несколько веб-частей в одном решении, все из которых используют одну и ту же connectionString.

# 3 звучит как очень чистое решение. Я вижу, что элементы конфигурации кэшируются, поэтому если мне нужно сохранить строку подключения, мне не удастся выполнить поиск SP каждый раз, когда мне понадобится эта строка.

При поиске решения я наткнулся на другой метод.

Если вы покопаетесь в их коде, похоже, они создали установщик, который принимает значения, специфичные для приложения, добавляет значения в файл FeatureTemplate.xml и передает их объекту SPFeatureReceiverProperties в Reciever.

Я собирался заняться этим методом, но я думаю, что №3 будет лучше.

Спасибо, Кит

...