Информация об изменениях

Сообщение Re[9]: .Net Core, AppDomain, RPC свой велосипед от 21.02.2017 12:53

Изменено 21.02.2017 13:04 Serginio1

Re[9]: .Net Core, AppDomain, RPC свой велосипед
Здравствуйте, Tom, Вы писали:

S>> Ок посмотрю. Спасибо. Сейчас сделаю на Tcp/Ip потом возьмусь за PipelinesSample

Tom>Я бы grpc в первую очередь смотрел

У меня уже сделан через рефлексию вызов удаленных методов аналогичных C#.
То есть поддержка методов с params, с дефолтными параметрами, вызов дженерик методов итд.
То есть ты работаешь с удаленным объектом как со своим.
То есть, можно вызывать методы асинхронно
 var wrap = Client.AutoWrapClient.GetProxy("127.0.0.1", 6891); // Получили удаленный объект



 static async Task<object> GetAsyncResult(dynamic wrap)
    {

        object resTask = await wrap.async.ЧтотоТам(3);

       
        return resTask;
    }


Можно создавать объекты из сборки в каталоге сервера

var Тестовый = wrap.Тип("TestDllForCoreClr.Тестовый", "TestDll");// TestDll в каталоге сервера
        var TO = wrap.New(Тестовый,"Свойство из Конструктора");
        Console.WriteLine("Свойство Объекта " + TO.СвойствоОбъекта);
        TO.СвойствоОбъекта = "Свойство Новое";
        Console.WriteLine("Свойство Объекта " + TO.СвойствоОбъекта);

        var EO = TO.ПолучитьExpandoObject();
        Console.WriteLine("Свойство ExpandoObject Имя "+EO.Имя);
        Console.WriteLine("Свойство ExpandoObject Число "+EO.Число);



Можно подключаться к событиям по аналогии с
CEF, Angular 2 использование событий классов .Net Core

То есть можно использовать любой тип и вызывать его методы удаленно, подписываться на события.

То есть у меня уже есть велосипед.
Я просто хочу довести до ума. Может кому и пригодится.
Re[9]: .Net Core, AppDomain, RPC свой велосипед
Здравствуйте, Tom, Вы писали:

S>> Ок посмотрю. Спасибо. Сейчас сделаю на Tcp/Ip потом возьмусь за PipelinesSample

Tom>Я бы grpc в первую очередь смотрел

У меня уже сделан через рефлексию вызов удаленных методов аналогичных C#.
То есть поддержка методов с params, с дефолтными параметрами, вызов дженерик методов итд.
То есть ты работаешь с удаленным объектом как со своим.
То есть, можно вызывать методы асинхронно
 var wrap = Client.AutoWrapClient.GetProxy("127.0.0.1", 6891); // Получили удаленный объект



 static async Task<object> GetAsyncResult(dynamic wrap)
    {

        object resTask = await wrap.async.ЧтотоТам(3);

       
        return resTask;
    }


Можно создавать объекты из сборки в каталоге сервера

var Тестовый = wrap.Тип("TestDllForCoreClr.Тестовый", "TestDll");// TestDll в каталоге сервера
        var TO = wrap.New(Тестовый,"Свойство из Конструктора");
        Console.WriteLine("Свойство Объекта " + TO.СвойствоОбъекта);
        TO.СвойствоОбъекта = "Свойство Новое";
        Console.WriteLine("Свойство Объекта " + TO.СвойствоОбъекта);

        var EO = TO.ПолучитьExpandoObject();
        Console.WriteLine("Свойство ExpandoObject Имя "+EO.Имя);
        Console.WriteLine("Свойство ExpandoObject Число "+EO.Число);



Можно подключаться к событиям по аналогии с
CEF, Angular 2 использование событий классов .Net Core

То есть можно использовать любой тип и вызывать его методы удаленно, подписываться на события.

У меня уже есть велосипед.
Я просто хочу довести до ума. Может кому и пригодится.