Разработка ASP.Net User Control для импорта в SharePoint MOSS 2007 - PullRequest
1 голос
/ 14 марта 2011

Извините, если на этот вопрос ответили, но я не смог найти похожий вопрос:

Я разрабатываю веб-часть для MOSS 2007. Я использую WSPBuilder для создания визуальной веб-части (ascx), и все работает нормально, но цикл разработки / отладки просто мучительно медленный, поэтому я хотел бы знать, если это можно (без особых усилий) быстрее разработать пользовательский элемент управления с помощью проекта веб-приложения .Net со всей приятной отладкой F5, а затем импортировать конечный продукт в мою визуальную веб-часть SharePoint.

Пользовательский элемент управления взаимодействует с LOB-системой (SQL) и вообще не ссылается на API-интерфейс SharePoint. (Причина, по которой я создаю это как веб-часть, заключается в том, что мне не нужно другое веб-приложение для запуска этой одной страницы, поэтому размещение его в веб-части на новой странице веб-части на моем существующем сайте является лучшим решением IMO.) Я бы хотел очевидно, нужно импортировать (ссылаться?) мои классы доступа к данным в мое «временное» веб-приложение, но думаю, что это не будет слишком большой проблемой.

Я понимаю, что это потребует дополнительных усилий для настройки, но я думаю, что выигрыш будет уменьшен во время разработки фактического пользовательского элемента управления, использующего небольшое веб-приложение по сравнению с использованием WSP / reset компиляции / сборки / развертывания WSP / reset ISS / тест / внести изменения / повторить цикл, который требует MOSS. (Я полагаю, что SP2010 / VS2010 избаловал меня доступными встроенными инструментами SharePoint.)

Обновление:

Я успешно создал простое веб-приложение с одной страницей и загрузил свой UC на страницу. (Мне пришлось закомментировать все операторы импорта и регистрации Sharepoint, которые WSP Builder добавил в UC для меня при создании веб-части.) Я добавил ссылки на свои служебные классы (которые я оставил в папке obj \ Debug в оригинале Проект SharePoint). Мне потребовалось некоторое время, чтобы поработать со всем, чтобы заставить его работать, но шаги оказались довольно простыми, и я думаю, что смогу быстро повторить шаги для будущих проектов. Как только он был настроен, я смог быстро спроектировать UC и встроить функциональность UC, используя типичный цикл отладки F5. Если кто-то не покажет мне, почему это плохая идея, я планирую повторить это для будущих проектов! Спасибо всем за их вклад.

.

Обновление 2

Ну, я не уверен, что я сделал, но перевод UC обратно в SharePoint оказался проблематичным. В первый раз, когда я сделал это, я потратил несколько часов, чтобы заставить его работать в SharePoint, и у меня возник вопрос, стоило ли оно того. Однако я упрямый и попробовал это снова. На этот раз я только скопировал и вставил разметку ниже «раздела заголовка» (часть со всеми операторами <% @..%>) В файле ascx, и все прошло отлично. Я думаю, что я изменил что-то непреднамеренно в первый раз. Я думаю, что я продолжу эту модель, так как гораздо быстрее создать и протестировать UC в веб-приложении ASP.NET. (Опять же, это работает, только если вы нигде не ссылаетесь на API Sharepoint API в UC.)

Ответы [ 2 ]

3 голосов
/ 14 марта 2011

Ответом является SmartPart . Это идеально подходит для сценария, который вы описываете. Очень легко создать Usercontrol с помощью «ванильного» ASP.NET и заставить его работать как веб-часть в SharePoint. Я описал шаги по переходу с веб-страницы ASP.NET на статически связанный SmartPart в моем блоге .

1 голос
/ 14 марта 2011

То, что вы намереваетесь достичь - это, безусловно, хорошая идея.

Просто не забывайте называть свой пользовательский элемент управления строгим именем, добавьте его в GAC вашего сервера, обновите раздел SafeControls в файле web.config SharePoint 80.

Все эти установки являются однократными, после каждой последовательной сборки (вашего веб-элемента управления) вам нужно просто развернуть элемент управления (развертывание с использованием forcede) в GAC и сбросить IIS.

Вы можете добавить этот элемент управленияна панель инструментов в VS, выбрав «Выбрать элементы» и выбрав только что развернутую сборку.

Кроме того, вы можете создать тестовую страницу ASP.NET для проверки функциональности вашего элемента управления.

...