Сообщение Re[9]: .Net Core, AppDomain, RPC свой велосипед от 21.02.2017 12:53
Изменено 21.02.2017 13:26 Serginio1
Re[9]: .Net Core, AppDomain, RPC свой велосипед
Здравствуйте, Tom, Вы писали:
S>> Ок посмотрю. Спасибо. Сейчас сделаю на Tcp/Ip потом возьмусь за PipelinesSample
Tom>Я бы grpc в первую очередь смотрел
У меня уже сделан через рефлексию вызов удаленных методов аналогичных C#.
То есть поддержка методов с params, с дефолтными параметрами, вызов дженерик методов итд.
То есть ты работаешь с удаленным объектом как со своим.
То есть, можно вызывать методы асинхронно
Можно создавать объекты из сборки в каталоге сервера
Можно подключаться к событиям по аналогии с
CEF, Angular 2 использование событий классов .Net Core
То есть можно использовать любой тип и вызывать его методы удаленно, подписываться на события.
У меня уже есть велосипед.
Я просто хочу довести до ума. Может кому и пригодится.
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, с дефолтными параметрами, вызов дженерик методов итд.
То есть ты работаешь с удаленным объектом как со своим.
То есть, можно вызывать методы асинхронно
Можно создавать объекты из сборки в каталоге сервера
То есть код сервера можно не менять, только подсовывать нужные DLL, и создавать из них нужные объекты или вызывать статические методы.
Подключаться к событиям.
Это очень схоже с AppDamain
Можно подключаться к событиям по аналогии с
CEF, Angular 2 использование событий классов .Net Core
То есть можно использовать любой тип и вызывать его методы удаленно, подписываться на события.
У меня уже есть велосипед.
Я просто хочу довести до ума. Может кому и пригодится.
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.Число);
То есть код сервера можно не менять, только подсовывать нужные DLL, и создавать из них нужные объекты или вызывать статические методы.
Подключаться к событиям.
Это очень схоже с AppDamain
Можно подключаться к событиям по аналогии с
CEF, Angular 2 использование событий классов .Net Core
То есть можно использовать любой тип и вызывать его методы удаленно, подписываться на события.
У меня уже есть велосипед.
Я просто хочу довести до ума. Может кому и пригодится.