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

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

  • несколько сборочных 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) одновременно? Я видел расширенную вкладку пакета WSP, где я могу добавить свои библиотеки DLL либо в папку bin, либо в GAC. Я не знаю, должен ли я также добавить какой-либо безопасный контроль и зарегистрировать определенные классы?

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

1 ответ

Решение

Единственный реальный способ сделать это - использовать папку layouts для развертывания приложения через 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

Другие вопросы по тегам