Skip to content

How to get an instance of IStorage in a non controller class? #188

@Bork44

Description

@Bork44

Я использую ExtCore в своем проекте (Blazor + .Net 5.0) для реализации плагинов. Абстрактно плагины - это расширения для добавления новых меню с собственным контентом (Razor Class Library), и в них IStorage прекрасно импортируется через

@inject IStorage storage

При этом одни из плагинов также реализует модульность, но на более примитивном уровне, для создания цепочек из блоков-модулей с простейшими функциями (тракт). Каждый модуль - это отдельная dll без веб-компонентов, работает в отдельном потоке (Task). Модули также прекрасно подтягиваются через ExtesionMenager.
Проблема в том, что модулям тоже нужно обращаться к базе данных. Модули не наследуют Controller или ComponentBase, они не рендерятся, к ним нет обращения через web-api, они не возвращают и не должны возвращать ActionResult, они вообще вне веб-части.
Есть ли способ получить экземпляр IStorage в таком модуле?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions