Способ обмена кодом по сети ASP.Net core C#?

Есть ли в C# способ обмена кодом по сети ? К примеру, есть мини программка, может представлять собой даже один класс с логикой, либо ряд объектов связанных между собой и один вызывающий класс (с известной сигнатурой). Примером такой программы может служить к примеру алгоритм подсчета линейной регрессии или что то в роде того.

Схематический пример:

public interface IProgram
{
    void DoAction();
}

public class Program : IProgram
{
    public void DoAction()
    {
        ProgramLogic logic = new();
        
        logic.Action1();
        logic.Action2();
        logic.Action3();
    }
}

private class ProgramLogic
{
    public void Action1()
    {}
    public void Action2()
    {}
    public void Action3()
    {}
}

Сигнатура главного класса мини программы (в примере IProgram) известна. Допускаю что данная мин программка может использовать какие то сторонние библиотеки и прочие...

Задача следующая: Есть удаленный сервер, назовем его "Сервер оптимизаций" который будет написан на ASP.Net core,и мне к примеру с другого сервера нужно передать эту программку на мой сервер оптимизаций. Т.е. нужно не просто отправить сериализованный объект, но и передать еще логику зашитую в данную программку. На "сервере оптимизаций" нужно вызвать исполнение логики данной мини программы.

Вариант который приходит в голову, это сохранять данную программу в Dll библиотеку, затем передавать ее как файл на мой "Сервер оптимизаций" и после уже динамически подгружать ее и через рефлексию делать инстанс IProgram а далее уже можно будет использовать функционал моей библиотеки. Какие еще возможные варианты Вы видите ?


Ответы (0 шт):