Пользовательский web.config для веб-части asp.net в sharepoint 2010

База: я создал веб-часть ASP.NET для развертывания на сайте Sharepoint 2010. Эта веб-часть использует внешнюю веб-службу, службу WCF, которая размещена в другом месте, а не на том же компьютере, что и сайт Sharepoint. Веб-части устанавливаются на сервер sharepoint с помощью CAB-файла, который создается в рамках проекта развертывания.

Проблема: Моя проблема в том, что у меня есть конфигурации привязки веб-служб в файле web.config моего решения веб-части ASP.NET, которые мне нужно изменить в зависимости от того, какой клиент его использует, поэтому мне нужно возможность изменить свой адрес привязки после установки (или во время).

Другое: я видел решения, использующие SPWebConfigModification, но у меня нет локальной установки Sharepoint, так что это не вариант. Я также видел чистое решение C #, в котором адрес конечной точки жестко закодирован в сборке, но это не позволит мне изменить адрес после компиляции веб-части. Лучшим способом было бы иметь внешний файл txt / xml, который я мог бы использовать из своей веб-части для получения адреса конечной точки, или умный способ обновления sharepoint web.config без использования SPWebConfigModification.

so...

у кого-нибудь есть отличное решение моей проблемы?


person hannes larsson    schedule 29.11.2011    source источник


Ответы (2)


Можете ли вы использовать настраиваемые свойства веб-части, которые будут содержать информацию о конечной точке WCF? Таким образом, вы сможете настроить свои веб-части после того, как они будут добавлены на страницу. Свойства доступны из кода веб-части, поэтому вы можете сгенерировать прокси-сервер wcf во время выполнения без каких-либо настраиваемых файлов конфигурации в решении.

эта статья может помочь вам с настраиваемыми свойствами http://www.lamber.info/post/2010/05/21/How-do-I-create-custom-properties-in-Visual-Web-Parts.aspx < / а>

person Maks Matsveyeu    schedule 29.11.2011
comment
Спасибо за ссылку, я думаю, что это правильный вариант. Попробую и вернусь с успехом или неудачей =) - person hannes larsson; 29.11.2011

Редактирование web.config - это почти всегда неправильное место для размещения чего-то вроде этого.

Ответ Макс - хороший и, безусловно, самый простой вариант. Если вы хотите сохранить адрес веб-службы в одном месте для использования несколькими экземплярами веб-части, этот вариант может быть лучше.

SO - Как правильно хранить глобальные переменные уровня сайта на сайте SharePoint?

person Ryan    schedule 29.11.2011
comment
У меня нет доступа к API Microsoft.SharePoint на моем компьютере разработчика, и я ищу решение, основанное на неиспользовании пространства имен Microsoft.SharePoint, чтобы любой разработчик в команде мог писать веб-части для продукта. Так что это решение не работает для меня, но все равно спасибо. - person hannes larsson; 30.11.2011
comment
Если вы настроены НЕ использовать SharePoint API, то это не вопрос SharePoint, и его не следует называть и помечать как таковые! - person Ryan; 30.11.2011