SharePoint Designer — Пользовательское действие для выполнения пользовательской функции C#

ОБНОВЛЕНИЕ: Это был выпущен в CodePlex здесь: http://www.codeplex.com/spdwfextensions

ОБНОВЛЕНИЕ: Смотрите здесь для последних заметки о выпуске: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

ОБНОВЛЕНИЕ: Смотрите здесь для мои мысли о коммерциализации этого проекта: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Этот проект предоставляет пользовательское действие в SharePoint Designer. Используйте это пользовательское действие для вызова (Рассылка) любые функции C#, вы включены в связанной сборке.

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

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

Отказ от ответственности:

Я делаю абсолютно никаких претензий относительно целесообразности этого для любых целей. Используйте на свой страх и риск.

Шаги установки (соблюдаться для каждого WFE в ферме):

1. Загрузите zip-файл и извлеките.

2. Установите библиотеки DLL в глобальный кэш сборок. Я обычно открыты c:\windowsassembly, с помощью проводника windows и скопировать его там.

3. Измените web.config для добавления сборки в безопасных элементов управления:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType Ассамблея = "SpdGenericInterface, Версия = 1.0.0.0, Культура = нейтральных, PublicKeyToken = abe076fd8125f3c4" Пространство имен = "Nivlag" TypeName = «*" Разрешение = "True" />

4. Копия «SpdGenericInterface.actions" для C:\Программа FilesCommon FilesMicrosoft Sharedweb сервера extensions12TEMPLATE1033Workflow

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

5. Закройте конструктор SharePoint (Если он уже открыт).

6. iisreset

7. Открытие SPD и создание нового рабочего процесса.

Если все пойдет хорошо, Вы должны быть вознаграждены с новой категории действий:

изображение

Примечания:

См. Здесь (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) потрясающий обзор процесса создания, Установка и настройка решения, как это.

ZIP-файл предназначен для извлечения непосредственно к вам c:\ привод. Если вы сделаете это, Вы можете открыть проект и все пути будет соответствовать.

Чтобы использовать это в visual studio, Вам вероятно нужно установить «Расширений для Windows WF».

Начальной загрузки содержит только один «диспетчерские функции», «ToLower()". Чтобы добавить дополнительные функции, Добавьте в метод Execute, как показано:

 Защита Переопределение ActivityExecutionStatus
          Выполнение(ActivityExecutionContext executionContext)
        {

            Строка functionToDispatch;
            functionToDispatch = Это.DispatchFunction.ToLower();

            переключатель (functionToDispatch)
            {
                случай «tolower()":
                    {
                        Это.OutResult1 = Это.InParam1.ToLower();
                        перерыв;
                    }

                по умолчанию:
                    {
                        Это.OutResult1 = «Неизвестная функция: [" + Это.Эккаунтинга + "].";
                        перерыв;
                    }
            }

            возвращение ActivityExecutionStatus.Закрыто;
        } // ActivityExecutionStatus

    }

Затем, повторное построение проекта и скопируйте сборку в глобальный кэш сборок. Я надеюсь, будет требоваться iisreset.

9 мысли о «SharePoint Designer — Пользовательское действие для выполнения пользовательской функции C#

  1. Джерри Whitworth
    Я следовал его указаниям и все, казалось, работает до тех пор, пока я выбрать действие в конструкторе SP. Дизайнер не вставить код в рабочем процессе. Я послал этот парень по электронной почте, и я думаю, что он слишком занят, чтобы ответить.
    Я решил проблему сам.
    Прошлых действий от «SpdGenericInterface.actions" в "WSS.actions" файл и все работало. Я надеюсь, что это помогает другим.
  2. Марко Манчинелли
    Привет всем,
    может кто-нибудь объяснить, какой файл web.config, я должен изменить? Просьба ответить скоро.
  3. Марко Манчинелли
    Это звучит хорошо, но я не могу установить расширение =(
    Мой дизайнер con увидеть его, но когда я нажимаю на него ничего не появляются… Пожалуйста, помогите… TNX.
  4. Майк Mongeau

    Определенно звучит как хорошая идея. Мне очень хотелось бы принять участие в использовании и тестировании функций. Это правда, что строковые функции ограничены в СДПГ, но «динамическую строку строитель" Это довольно мощный.

    <a href ="http://dataformwebpart.com">-Monjo </в>

  5. Bernard Ламберт

    Я использую это пользовательское действие для замены() функция. Ферма является SharePoint 2007, с балансировкой нагрузки веб-интерфейсов. Я получаю кратковременный сбой запуска ошибки, но рабочие процессы обычно перезапуск в 5 – 15 мин.. Я считаю, задания таймера рабочих процессов и переход на другой ресурс рабочего процесса перезапуск рабочих процессов. При просмотре журналов SharePoint, и, наконец, поймали эту ошибку.

    RunWorkflow: Microsoft.SharePoint.SPException:
    в Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Строка assmNameIn, SPWeb веб)
    в Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID trackingId, SPWorkflow рабочий процесс)
    в Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID trackingId, SPWorkflowHostService узел, SPWorkflow рабочий процесс, Коллекция ' 1 события, Время ожидания TimeSpan)
    в Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow рабочий процесс, Коллекция ' 1 события, SPRunWorkflowOptions runOptions)

    Я нашел ссылку на эту ошибку на другом блоге, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. Автор указал, что он был с помощью пользовательских actitivity заменить(), также. Вы видели эту ошибку? У вас есть какие-либо предложения о том, как решить ее?

    1. Пол Galvin сообщение автор

      К сожалению я никогда не ответил. В Тхи в точке, Это вероятно спорным. Я надеюсь, что вы смогли решить ее.

Оставить ответить Марко Манчинелли отменить ответ

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *