Разработка веб-частей SharePoint в ASP.NET [закрыто]

StackOverflow https://stackoverflow.com/questions/133328

  •  02-07-2019
  •  | 
  •  

Вопрос

Меня попросили разработать некоторые пользовательские элементы управления в ASP.NET, которые позже будут перенесены на сайт SharePoint в качестве веб-частей.Я новичок в SharePoint и не буду иметь доступа к серверу SharePoint в течение того времени, пока мне нужно создавать прототипы этих частей.

Кто-нибудь знает о каких-либо причинах, по которым такой подход не сработает?Если такой подход не рекомендуется, каковы могут быть другие варианты?Есть какие-либо предложения по ресурсу / руководству о том, что следует учитывать при разработке ASP.NET веб-части с учетом SharePoint?

Спасибо

Редактировать:12/31/2008 Наконец-то я отметил ответ на этот вопрос.Мне потребовалось некоторое время, чтобы понять, что переход по маршруту SharePoint сразу, хотя и болезненный поначалу, - лучший способ добиться этого.Бесплатный образ VPC делает настройку для разработки относительно безболезненной.

В то время как вы можете, как и я, разрабатывать веб-части в ASP.NET без SharePoint, когда дело доходит до разработки и развертывания приложений SharePoint, вы ничему не научились, а только перенесли процесс обучения на тот момент, когда вам кажется, что вы закончили (и, вероятно, проинформировали об этом заинтересованные стороны).Затягивание процесса обучения SharePoint не пойдет на пользу вам или вашему проекту, и ваш конечный продукт будет лучше благодаря опыту, который вы приобретете на этом пути.

Это было полезно?

Решение

Если это очень краткосрочная задача, у Microsoft есть ограниченный по времени образ VPC для оценки WSS:

Образ VPC для оценки разработчиком WSS3 SP1

Это поможет вам начать, если у вас нет времени / ресурсов для настройки вашего собственного образа VPC прямо сейчас.

Другие советы

ASP.NET веб-части работают в SharePoint так же, как и в ASP.NET.Это маршрут, который я бы выбрал (пользовательский элемент управления, производный от ASP.NET Веб-часть класс).Это облегчит любые требования к фактической разработке на сервере SharePoint.

Единственная проблема, с которой вы столкнетесь, заключается в том, что вы не сможете воспользоваться преимуществами SharePoint Framework.Если вы делаете что-то продвинутое в SharePoint, это очень важно.Однако SharePoint имеет ASP.NET плюс некоторые дополнительные функциональные возможности, поэтому все, что вы можете разработать с помощью System.Web.UI.WebControls.Веб-часть класс должен отлично работать в SharePoint.

Некоторые соображения, которые помогут облегчить вашу боль при переходе с pure ASP.NET на SharePoint:

  • Если вы сможете поместить все в одну сборку, развертывание будет проще
    • попробуйте поместить все, что вам нужно, в библиотеки DLL, развернутые в SharePoint
    • используйте ресурсы сборки для встраивания JS, CSS и файлов изображений, если это необходимо
  • Сильное название сборки, которую вы создаете
    • Большинство развертываний SharePoint попадают в GAC, и для этого потребуется строгое имя

Вот соответствующая запись в блоге; Разработка базовых веб-частей в SharePoint 2007

Я думаю, что самый простой способ - это использовать SmartPart для SharePoint из CodePlex.В описании проекта говорится: "Веб-часть SharePoint, которая можно разместить любое ASP.NET пользовательский веб-элемент управления .Создавайте свои веб-части без написания кода!", что, я полагаю, именно то, что вы хотите сделать.

Настройка моей машины для разработки под Sharepoint заняла у меня пару дней.

Видишь http://weblogs.asp.net/erobillard/archive/2007/02/23/build-a-sharepoint-development-machine.aspx

Создайте и протестируйте элемент управления так, как вы бы делали для обычного веб-сайта .net.Решение 1 = элементы управления Решение 2 = фиктивный веб-сайт для размещения элементов управления.

Развертывание в Sharepoint:

Вам нужно будет подписать элементы управления.

Поместите подписанную библиотеку DLL в GAC на сервере sharepoint (Windows / assembly)

Отметьте элемент управления как безопасный в корневом каталоге виртуального сервера web.config на сайте SharePoint.

т. е.

<SafeControl Assembly="MyControl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=975cc42deafbee31" Namespace="MyNamespace" TypeName="*" Safe="True" AllowRemoteDesigner="True" />

Зарегистрируйте компонент на своей странице SharePoint:

<%@ Register Namespace="MyNamespace" Assembly="MyControl, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=975cc42deafbee31" TagPrefix="XXXX" %>

Используйте элемент управления:

<XXXX:ClassName runat="server" Field1="Value1" Field2="Value2" ....></XXXX:Classname>

Если вам нужно заменить элемент управления, используя тот же номер версии, то вам нужно будет повторно использовать пул приложений для перезагрузки.

Если вам не нужно делать ничего специфичного для SharePoint (т. Е. получать доступ к спискам, другим веб-частям и т.д.), То вы можете создать свой веб-раздел точно так же, как обычный веб-раздел (полученный из System.Web.UI.WebControls.WebParts.Класс WebPart), и он будет работать при добавлении на сайт SharePoint.

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

Вам не нужен SharePoint для разработки веб-частей.Вы можете разрабатывать веб-части, унаследовав их от System.Web.UI.WebControls.Веб-части.И это предпочтительный способ создания веб-частей, если только вам не нужны следующие функции, такие как

* Connections between web parts that are outside of a Web Part zone

* Cross page connections

* A data caching infrastructure that allows caching to the content database

* Client-side connections (Web Part Page Services Component)

В этом случае вам необходимо разработать веб-части, унаследовав их от Microsoft.SharePoint.WebPartpages.WebPart.Вы можете найти более полезную информацию здесь

Есть ли какая-то конкретная причина, по которой ваши пользовательские элементы управления должны быть развернуты как веб-части?Вполне возможно развернуть пользовательские элементы управления непосредственно на сайтах Sharepoint либо через папку CONTROLTEMPLATES в 12 hive, либо в местоположение в виртуальном каталоге web app, на которое затем можно ссылаться с веб-страниц с помощью Sharepoint Designer.

Однако, если требование к веб-части имеет решающее значение, я рекомендую Smartpart для Sharepoint, как уже упоминалось.

На самом деле веб-части всегда следует развертывать в папке bin sharepoint из-за их "оскорбительного" характера.Всегда развертывайте веб-части в корзине, если это возможно, и пишите свои собственные центры сертификации и включайте их в свой манифест.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top