public virtual Task <Response> Invoke() { object serviceInstance = null; System.Reflection.MethodInfo methodInfo = null; var service = NodeNetworkServiceHost.GetServiceByContractFullName(ServiceContractTypeFullName, ServiceId); if (service is Type serviceType) { serviceInstance = Activator.CreateInstance(serviceType); methodInfo = serviceType.GetMethod(MethodName); } else { serviceInstance = service; methodInfo = serviceInstance.GetType().GetMethod(MethodName); } var resultData = methodInfo.Invoke(serviceInstance, Arguments.ToArray()); var response = new Response(); response.ReturnValue = resultData; return(Task.FromResult(response)); }
public static IApplicationBuilder UseNodeNetwork(this IApplicationBuilder app) { app.UseEndpoints(endpoints => { endpoints.MapHub <NodeNetworkHub>("/NodeNetworkHub"); }); NodeNetworkServiceHost.RegisterService <TestService, ITestService>(); NodeNetworkServiceHost.RegisterService <Server.Hub.NodeNetworkHubService, Server.Hub.INodeNetworkHubService>(); return(app); }
static async Task Main(string[] args) { //waiting until hub is started await Task.Delay(3000); Console.WriteLine("ServiceHost - register service"); // część Hosta serwisu //rejestruje serwis testowy w sieci (w HUBie) NodeNetworkServiceHost.RegisterService <TestService, ITestService>(); await NodeNetworkServiceHost.ConnectToNodeNetworkHub("https://localhost:44331"); Console.ReadKey(); }
public static IApplicationBuilder UseNodeNetwork(this IApplicationBuilder app) { //Microsoft.AspNetCore.Builder.EndpointRoutingApplicationBuilderExtensions //Microsoft.AspNetCore.Builder. //app.UseEndpoints(endpoints => //{ // endpoints.MapHub<NodeNetworkHub>("/NodeNetworkHub"); //}); //app.UseMiddleware().UseSignalR(); //.UseEndpoint NodeNetworkServiceHost.RegisterService <TestService, ITestService>(); NodeNetworkServiceHost.RegisterService <Server.Hub.NodeNetworkHubService, Server.Hub.INodeNetworkHubService>(); return(app); }