Хранение данных уровня фермы для веб-компонента - PullRequest
1 голос
/ 26 июля 2011

Я создал пользовательский элемент управления SharePoint (не веб-часть) и внедряю его с помощью решений, функций и т. Д.

Это коммерческий компонент, и я хочу иметь возможность хранить информацию о лицензии, как только она будетзарегистрировано.У меня все лицензионное оборудование работает и работает, однако я пытаюсь найти «глобальное» (то есть на уровне фермы) место для хранения информации (чтобы оно работало на многосерверных фермах).

Это коммерческий компонент, поэтому я не контролирую политики безопасности, учетные записи пула приложений и т. Д. Мне нужно, чтобы он работал без администраторов, которым нужно перенастраивать свои фермы.

I 'мы рассмотрели:

  • Web.config - лучший вариант на данный момент, но прочитал, что Windows UAC может вмешиваться и изменения не всегда могут быть применены.

  • Хранилище иерархических объектов - Несколько проблем с безопасностью - А именно пулу приложений нужен доступ к базе данных Config (что не разрешено во многих средах)

  • Сумка свойств корневого сайта - возможно.Я могу обновить все свойства корневых сайтов во время регистрации, но что происходит при создании новых веб-приложений?Пользователь должен зарегистрировать компонент для каждого веб-приложения?

  • Реестр, файловая система - Не сохраняется на серверах

  • Пользовательская БД - Похоже, многомест для этого не получится.

Я знаю, что другие коммерческие поставщики делают это как-то.

Есть идеи?

1 Ответ

1 голос
/ 26 июля 2011

Web.config - лучший вариант на данный момент, но он прочитал, что Windows UAC может вмешиваться и изменения не всегда применяются.

Существует много разных мнений относительно размещения ваших настроек в файле web.config. Лично я бы НЕ рекомендовал бы это, потому что SharePoint автоматически вносит изменения, и вы не можете реально контролировать происходящее.

У меня были похожие требования, но на уровне SiteCollection. Я создал простой пользовательский список с двумя столбцами (ключ, значение) в корне моей коллекции SiteCollection. В своем коде я жестко закодировал имя списка и использовал повышенные привилегии (потому что я установил права доступа к списку только для администратора), чтобы получить доступ к нужным значениям.

Вы можете сделать то же самое, но не в корне уровня SiteCollection, а в центре администрирования. Таким образом, вы можете получить доступ к списку конфигурации из любой точки SharePoint.

Другая идея заключается в создании простой базы данных конфигурации и последующем использовании настраиваемого веб-сервиса (который развернут в SharePoint) для получения его значений. Однако это добавляет много накладных расходов к такой «простой» задаче и доставит вам массу неприятностей без надлежащей обработки / регистрации исключений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...