Заменён механизм хостинга плагинов во внешних процессах
[ ]С целью обеспечения лучшей изоляции плагинов от библиотек, не являющихся частью API, а также для расширения функциональных возможностей запуск плагинов будет выполняться с помощью нового хост-процесса Resto.Front.Api.Host.exe (вместо Resto.CashServer.OutOfProcHost.exe). Для плагинов под V2 и V3 реализована обратная совместимость, начиная с V4 вводится ряд изменений.
Основные изменения:
- логирование сделано частью API (более не следует использовать устанавливаемую для iikoFront библиотеку
log4net
напрямую или черезResto.Framework
); - отключена обработка очереди оконных сообщений (если плагин хочет показывать окна, он должен сам создать UI-поток и запустить в нём
Dispatcher
или другую реализацию цикла обработки сообщений); - начиная с V4 получить доступ к сервисам API можно из любого места в коде плагина, обратившись к статическим членам класса
PluginContext
(отпала необходимость протаскивать ссылки на сервисы по всему коду); - начиная с V4 интерфейс
IFrontPlugin
не содержит методInit
(класс плагина по-прежнему должен иметь публичный контруктор без аргументов, в нём и следует выполнять всю инициализацию); - снято требование наследовать класс плагина от
MarshalByRefObject
; - появилась возможность удобной отладки плагина без перезапуска приложения iikoFront;
- исправлены некоторые ошибки (например, теперь можно разделить конфигурационный файл на несколько частей).