Как развернуть модификации web.config в веб-приложении Sharepoint?
-
05-07-2019 - |
Вопрос
У меня есть сайт в Sharepoint 2007. Мы используем wsp для развертывания наших проектов. Мы можем развернуть dll, пользовательские элементы управления, функции, но я не знаю, как включить новые строки в web.config.
Какой из возможных способов внести изменения в web.config?
Другое дело, как я могу включить ресурсы (resx) в wsp?
Решение
Редактирование файла web.config вручную в многосерверной ферме - плохая идея. Обеспечение синхронизации файлов web.config на каждом WFE быстро превратится в кошмар.
Использование класса SPWebConfigModification для управления изменениями web.config по всей ферме является хорошей идеей, поскольку изменения будут сохраняться в базе данных конфигурации SharePoint и автоматически отправляться на каждый сервер в ферме.
Сказав это, кодирование против класса может быть болью. К счастью, есть довольно неплохой интерфейс , который находится в свободном доступе и дает вам экран конфигурации в центре администрирования для добавления / удалить изменения web.config.
Другие советы
есть очень простой способ добавить безопасные записи управления через Solution. Следующий фрагмент, добавленный в manifest.xml, внесет соответствующие изменения в файл web.config. Чтобы установить другие значения, вы должны сделать это в приемнике объектов, используя SPWebConfigModification class.
<Assemblies>
<Assembly ...>
<SafeControl Namespace=".." Assembly="..." Type="..." Safe="True" />
</Assembly>
....
</Assemblies>
Кроме того, если вы думаете об использовании appSettings из web.config для значений конфигурации вашего сайта, у вас есть и другие варианты. По разным причинам web.config не всегда может быть лучшим местом для размещения ваших значений - по крайней мере, если предполагается, что «суперпользователь» и т. Д. Сможет изменить их позже. Для этого вы могли бы вместо этого использовать функцию хранилища конфигурации, которая также масштабируется по всей ферме для нескольких интерфейсных серверов и т. Д.:
http://www.sharepointnutsandbolts.com /2008/05/introducing-sharepoint-config-store-for.html р>
Что касается файлов web.config ...
Web.config - это документ XML, который содержит параметры конфигурации для веб-приложения. Он находится в корневом каталоге веб-приложения, поэтому для SharePoint он обычно находится в папке C: \ Inetpub \ wwwroot \ wss \ VirtualDirectories \ SharePoint80, где SharePoint80 - это имя вашего веб-приложения.
Вручную вносить изменения в файл web.config безопасно, если вы сохраняете теги и разделы в правильном порядке. Посмотрите эту статью .
В него также можно вносить программные изменения, это пост должен показать вам, как.
Надеюсь, это поможет.
Я думаю, что прямые манипуляции с web.config могут быть сложными, если у вас несколько серверов. Если вся ваша установка выполняется только на нескольких серверах, это может быть проще, чем пытаться вносить простые изменения web.config с помощью кода.
Кроме того, манипулирование web.config напрямую гарантирует, что у вас есть полный web.config в вашей системе управления версиями. Если вы используете API для внесения изменений, все, что у вас будет в системе контроля версий, это набор кода на C #, который, как вы надеетесь, не содержит ошибок!
Мой совет - не связываться с какими-либо ручными изменениями кода. Вместо этого, сделайте все «по-SharePoint», поместив изменения в каталог 12 \ Config как описано в документации Microsoft по SharePoint .