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

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


person Robert Koritnik    schedule 02.08.2010    source источник


Ответы (1)


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

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

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

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

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

Вот пошаговое руководство: http://sharepointsolutions.blogspot.com/2006/12/using-spwebconfigmodificat_116736917110571614.html

person Clint Simon    schedule 05.03.2011
comment
Хотя это не тот ответ, который я бы принял, он предоставляет достаточно информации, и я знаю, что это невозможно. По крайней мере, не в той степени, в которой я хочу. Еще раз спасибо (после такого долгого времени). - person Robert Koritnik; 05.05.2011