Как развернуть веб-приложение Asp.net на сайте Sharepoint 2010 с помощью WSP - PullRequest
8 голосов
/ 02 августа 2010

Предположим, я создал пользовательское веб-приложение, которое состоит из:

  • несколько сборочных DLL: веб-приложение, бизнес-логика, службы данных
  • несколько страниц aspx и настраиваемые элементы управления ascx, которые их используют
  • секция пользовательской конфигурации
  • пользовательский модуль HTTP

Более или менее обычный материал.

Я хотел бы развернуть его на определенном сайте sharepoint в определенной подпапке. Поэтому, если я захожу на свой сайт sharepoint через http://myserver:90/ (потому что я не использую sites / some_site), я бы хотел, чтобы мое приложение было доступно под http://myserver:90/webapp

Я мог бы вручную добавить виртуальную папку (не приложение, потому что мне нужно было бы получить доступ к некоторым данным сайта Sharepoint) к моему сайту sharepoint в IIS, и вручную отредактировать файл web.config сайта, чтобы зарегистрировать мой модуль HTTP и добавить свой пользовательский раздел конфигурации как ну, либо помещать мои DLL в GAC, либо помещать их в _app_bin (поэтому у меня нет проблем с CAS), но я не думаю, что это хорошая вещь, потому что это веб-приложение может быть развернуто в среде, где это не должно / не могло быть возможным.

Итак, я подумал, что мог бы создать WSP с помощью Visual Studio 2010 и развернуть его таким образом. Но у меня недостаточно опыта для этого.

Я создал новый проект sharepoint 2010. Есть ли способ добавить все неисполняемые файлы приложений (aspx, ascx) одновременно? Я видел вкладку advanced пакета WSP, где я могу добавить свои DLL либо в папку bin, либо в GAC. Я не знаю, пришлось бы мне также добавить какой-либо безопасный контроль и зарегистрировать определенные классы?

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

1 Ответ

4 голосов
/ 05 марта 2011

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

Однако есть пара проблем. URL для вашего приложения будет http://SharePoint/somesite/_layouts/yourapp

Это благословение и проклятие. Ваши URL будут безобразными, но они будут работать на каждом сайте SharePoint. Если ваше приложение зависит от контекста SharePoint для функционирования, этот контекст будет автоматически доступен на основе запрашивающего URL.

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

Для модуля http или любых модификаций web.config вы можете использовать класс spwebconfigmodification.

Вот прогулка: http://sharepointsolutions.blogspot.com/2006/12/using-spwebconfigmodificat_116736917110571614.html

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