powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / публикация плагинов в нет кор 3.0
9 сообщений из 9, страница 1 из 1
публикация плагинов в нет кор 3.0
    #39990493
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описание задачи:
есть приложение, генерящее много (100) разных экселей
идея - сделать каждый генерящий эксель модуль плагином и выкладывать отдельно, не затрагивая всё приложение и прочие модули

сами плагины описаны здесь
https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/creating-app-with-plugin-support

а вот как их публиковать независимо от прочих модулей?
как настроить деплой именно этого отдельного плагина (не руками, а из студии)
...
Рейтинг: 0 / 0
публикация плагинов в нет кор 3.0
    #39990520
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе, можно публиковать каждый отчёт как отдельное приложение...
Но как на иисе скажется пара тысяч потенциальных аппликейшенов по всем задачам?
...
Рейтинг: 0 / 0
публикация плагинов в нет кор 3.0
    #39990529
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не стоит городить огород, тем более, что плагины тут нафиг не нужны.
Плагины нужны тогда, когда на этапе компиляции не известно, какие модули необходимо загрузить и использовать, потому, что их порядок и количество определяется, к примеру, пользователем или конфигурацией, а не на этапе компиляции.

Вам нужно просто сделать инверсию зависимостей.
Каждый генератор должен быть изолирован, а взаимодействие с ними осуществляется через единый интерфейс (контракт взаимодействия с генераторами). В котором, к примеру, будет метод Generate();
В класс клиент (класс который использует генераторы), условно это медиатор, эти генераторы передаются в виде списка в конструктор.
Либо использовать Builder, который сконфигурирует этот медиатор и передаст в него все генераторы, которые вы в методе построения добавили. Сам класс посредник ничего не знает о реализациях и типах которые в него добавляют, он знает только о контракте и взаимодействует с генераторами через него.
Если это ASP.NET Core, можно их оформить как сервисы которые регистрируются в Startup через IServiceCollection, а потом вы их получаете через конструктор и используйте с помощью IoC, в качестве параметра конструктора можно задать IEnumerable<IGenerator>, тогда все сервисы зарегистрированные для этого интерфейса вернутся в виде "списка".

Вряд ли в момент выполнения вашей программы этот список необходимо менять. Так все генераторы будут изолированы друг от друга, класс клиент не будет ничего знать о их реализации, он будет знать только то, что можно запустить генерацию. При этом сам класс клиент ничего не инстанцирует, напрямую от них не зависит.
Любой генератор можно будет быстро добавить или удалить в конкретном и единственном месте в программе. А плагины вам 100% нафиг не нужны.
...
Рейтинг: 0 / 0
публикация плагинов в нет кор 3.0
    #39990537
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нынешняя система клиент-серверная 2003-го года построена в микросервисной, так сказать, архитектуре
На момент запуска никто не знает, сколько там будет форм и отчётов
Эти настройки в бд

Отдеплоили длл или отчёт, внесли инфу в таблицы менюхи - остальной части системы от этого ни холодно ни жарко
...
Рейтинг: 0 / 0
публикация плагинов в нет кор 3.0
    #39990614
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
а вот как их публиковать независимо от прочих модулей?


Смотря какие инструменты у вас есть.
Какие у вас есть инструменты для девопс?


andreymx
как настроить деплой именно этого отдельного плагина (не руками, а из студии)


За деплой из студии нужно бить по рукам.
Закидываете в репу, билд сервер собирает в нугет, паблишит на сервер артефактов.
Хреновина, которая отвечает за делой, получает команду на деплой, или триггерится на появление артефакта и катит куда надо.
...
Рейтинг: 0 / 0
публикация плагинов в нет кор 3.0
    #39990615
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
Отдеплоили длл или отчёт, внесли инфу в таблицы менюхи - остальной части системы от этого ни холодно ни жарко


Вообще, для этого существуют сервера и порталы отчётности.
Отчёт вообще можно дизайнить прям в веб и не заниматься хернёй )
...
Рейтинг: 0 / 0
публикация плагинов в нет кор 3.0
    #39990620
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
andreymx
а вот как их публиковать независимо от прочих модулей?


Смотря какие инструменты у вас есть.
Какие у вас есть инструменты для девопс?


andreymx
как настроить деплой именно этого отдельного плагина (не руками, а из студии)


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

но как настроить процесс для выкладывания одного плагина?
...
Рейтинг: 0 / 0
публикация плагинов в нет кор 3.0
    #39990622
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
andreymx
Отдеплоили длл или отчёт, внесли инфу в таблицы менюхи - остальной части системы от этого ни холодно ни жарко


Вообще, для этого существуют сервера и порталы отчётности.
Отчёт вообще можно дизайнить прям в веб и не заниматься хернёй )
ок
как юзеру навебдизайнить эксель? SSRS ему не подходит, и даже павербиай
...
Рейтинг: 0 / 0
публикация плагинов в нет кор 3.0
    #39990629
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
но как настроить процесс для выкладывания одного плагина?


Я ж описал. В общих чертах. А конкретно как, можете только вы сказать, так как знаете что у вас там и как.

andreymx
ок
как юзеру навебдизайнить эксель? SSRS ему не подходит, и даже павербиай


Ну как. Если совсем прям просто и тупо...

Берём FastReport. Создаём отчёт, цепляемся к источнику данных, дизайним отчёт, сохраняем файл frx.
Заходим на портал в раздел отчётов.
Нажимаем "добавить отчёт".
Заливаем свой frx.
Видим появившийся отчёт, нажимаем опубликовать.

Это вообще пользовательский сценарий, где никакого деплоя не нужно.
Каждый юзер с правами, может сказать файл отчёта, поправить и залить новую версию, или создать с нуля и завести новый отчёт.

Так как frx файлы могут содержать в принципе любой код на C#, продвинутый юзер может много чего наворотить при желании.

Вариантов дофига, зависит от целей, возможностей и требований.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / публикация плагинов в нет кор 3.0
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]