Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Интерфейсы с префиксом "Before", как правило, используются, если необходимо реализовать дополнительные проверки (валидацию).


Демонстрационный проект - VitroMPReceiverDemo.zip 

В проекте реализованы 3 примера. В каждом из примеров вызывается внешний REST сервис, для примера, используются REST сервисы самого портала.

  • AfterCreateReceiverService - публикация чистовой версии документа 1.0 после добавления.
  • AfterUpdateReceiverService - при смене статуса документа с "Размещено" на "Отклонено" выполняется прерывание наследования прав на текущем документе и права очищаются.
  • BeforeDeleteReceiverService - перед удалением документа выполняется проверка на наличие не закрытых замечаний для документа и генерируется исключение, если замечания есть и документ не удаляется.


Сборка и размещение "Vitro.Server.External.dll".

1. В архиве проект библиотеки (Vitro.Server.External.dll) с исходниками. Проект сделан на языке c# в среде выполнения .net 8.0 и с помощью среды разработки Visual Studio 2022.

2. В папках bin\Debug\ и \bin\Release архива уже есть два скомпилированных экземпляра библиотеки Проект необходимо открыть в VS 2022 и выполнить его сборку командой "Build", предварительно выбрав конфигурацию сборки "Release", как показано на рисунке. После сборки проекта в папке "\bin\Release" должен появится файл "Vitro.Server.External.dll".

Image Added

3. Скомпилированную библиотеку из п.2     Библиотеку необходимо разместить по пути и выполнить перезапуск процесса портала Vitro.Server.Core.Web

  • для Windows: "c:\Program Files\Vitro Software\Vitro\Server\Solutions\External"
  • для Linux : "/usr/local/Vitro.Server.Core.Web/Vitro/Server/Solutions/External"

3. В проекте реализованы 3 примера. В каждом из трех примеров вызывается внешний REST сервис, для примера, используются REST сервисы самого портала.

...

Примечание: в папку "\Solutions\External" надо скопировать только библиотеку "Vitro.Server.External.dll", другие файлы копировать не надо.