как развернуть модификации web.config в веб-приложении Sharepoint?

У меня есть веб-сайт в Sharepoint 2007. Мы используем wsp для развертывания наших проектов. Мы можем развертывать библиотеки DLL, пользовательские элементы управления, функции, но я не знаю, как включать новые строки в web.config.

Каким способом можно было бы внести изменения в web.config?

Другое дело, как включить ресурсы (resx) в wsp?


person netadictos    schedule 07.03.2009    source источник


Ответы (6)


Редактировать web.config вручную в многосерверной ферме - плохая идея. Обеспечение синхронизации файлов web.config на каждом WFE быстро станет кошмаром.

Использование класса SPWebConfigModification для управления изменениями web.config в ферме является хорошей идеей, поскольку изменения будут сохраняться в базе данных конфигурации SharePoint и автоматически отправляться на каждый сервер фермы.

Сказав это, кодирование против класса может быть проблемой. К счастью, есть довольно хороший интерфейс, который находится в свободном доступе и дает вам экран конфигурации в центре администрирования для добавления / удалить изменения web.config.

person Preston Guillot    schedule 07.03.2009
comment
Я думаю, это зависит от того, сколько WPE у вас в среде. - person Tundey; 09.03.2009
comment
Я думаю, что при развертывании функций важно использовать готовые функции. Добавление безопасных элементов управления и настраиваемого CAS shuold всегда выполняется через файл manifest.xml, так как он также каждый раз сохраняет версии файла web.config. SPWebConfigModification не будет. - person mortenbpost; 09.03.2009
comment
Я полностью согласен с использованием функций развертывания функции OOB для управления SafeControls и политиками CAS, я просто предположил, что то, что он хотел сделать, выходило за рамки этого, хорошего звонка. - person Preston Guillot; 09.03.2009

есть очень простой способ добавить безопасные контрольные записи через Solution. Следующий фрагмент, добавленный в manifest.xml, внесет соответствующие изменения в файл web.config. Чтобы установить другие значения, вы должны сделать это в приемнике функций с помощью Класс SPWebConfigModification.

<Assemblies>
  <Assembly ...>
     <SafeControl Namespace=".." Assembly="..." Type="..." Safe="True" />
  </Assembly>
  ....
</Assemblies>
person Jason    schedule 07.03.2009

Кроме того, если вы думаете об использовании appSettings из web.config для значений конфигурации вашего сайта, у вас есть и другие варианты. По разным причинам web.config не всегда может быть лучшим местом для размещения ваших значений - по крайней мере, если «суперпользователь» и т. Д. Должен иметь возможность изменить их позже. Для этого вы можете вместо этого использовать функцию хранилища конфигураций, которая также масштабируется по всей ферме для нескольких интерфейсных серверов и т. Д .:

http://www.sharepointnutsandbolts.com/2008/05/introduction-sharepoint-config-store-for.html

person anchorpoint    schedule 14.04.2009

Что касается файлов web.config ...

Web.config - это XML-документ, содержащий параметры конфигурации веб-приложения. Он расположен в корневом каталоге веб-приложения, поэтому для SharePoint он обычно находится в папке C: \ Inetpub \ wwwroot \ wss \ VirtualDirectories \ SharePoint80, где SharePoint80 - это имя вашего веб-приложения.

Внесение изменений в файл web.config вручную безопасно, если вы сохраняете теги и разделы в правильном порядке. Прочтите эту статью.

Также можно внести изменения в него программно, этот пост должен показать вам, как это сделать.

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

person dstetsenko    schedule 07.03.2009
comment
Это могло ввести в заблуждение. Не рекомендуется изменять таким образом web.config для SharePoint. Другие ответы в этой теме содержат полезные советы о том, как работать с параметрами конфигурации в контексте веб-приложения SharePoint. - person Tom Resing; 11.10.2010

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

Кроме того, прямое управление файлом web.config гарантирует, что у вас есть полный файл web.config в вашей системе управления версиями. Если вы используете API для внесения изменений, все, что у вас будет в системе управления версиями, - это набор кода C #, который, как вы надеетесь, не содержит ошибок!

person Tundey    schedule 09.03.2009

Я советую не возиться с любыми ручными изменениями кода. Вместо этого сделайте что-то «Путь SharePoint», поместив изменения в каталог 12 \ Config как описано в документации Microsoft SharePoint.

person Jeroen Ritmeijer    schedule 14.04.2009