예제 #1
0
        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));
        }
예제 #2
0
        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);
        }
예제 #3
0
        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();
        }
예제 #4
0
        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);
        }