SharePoint — диалоговое окно «Строка подключения» во время события FeatureActivated

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

  •  08-06-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

  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 (прочитайте этот замечательный блог: http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=32)
  3. Наконец, я часто использую метод хранения информации о конфигурации в списке SharePoint.У Криса О'Брайена есть отличная основа для этого: http://www.codeplex.com/SPConfigStore

Надеюсь, это поможет, Даниэль

Другие советы

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

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

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

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

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

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

Спасибо, Кит

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top