protected override IEnumerable <ServiceReplicaListener> CreateServiceReplicaListeners() { var grpcServices = new[] { GrpcMessageService.BindService(new GrpcMessageServiceImpl(this.Context, ProcessGrpcMessage)) }; return(new[] { //new ServiceReplicaListener(this.CreateServiceRemotingListener, name: "Remoting"), new ServiceReplicaListener((ctx) => { //return new FabricTransportServiceRemotingListener(ctx, this, serializationProvider: new ServiceRemotingJsonSerializationProvider()); return new FabricTransportServiceRemotingListener(ctx, this); }, name: "RemotingV2"), new ServiceReplicaListener((ctx) => { return new WcfCommunicationListener <IServiceFour>( wcfServiceObject: this, serviceContext: ctx, endpointResourceName: WcfEndpoint, listenerBinding: WcfUtility.CreateTcpListenerBinding()); }, name: "WcfTcp"), new ServiceReplicaListener((ctx) => { return new WsCommunicationListener(ctx, SocketEndpoint, AppPrefix, this.ProcessWsRequest); }, "WebSocket"), new ServiceReplicaListener((ctx) => { return new ServiceBusTopicListener(ctx, ProcessTopicMessage, LogError, ServiceBusTopicReceiverType.Performance); }, "PubSub"), new ServiceReplicaListener((ctx) => { return new EventHubCommunicationListener(ctx, ProcessEventHubMessage, LogError); }, "EventHub"), new ServiceReplicaListener((ctx) => { return new SimpleCommunicationListener(ctx, DotNettySimpleTcpEndpoint, ProcessDotNettyMessage, LogError); }, "DotNettySimpleTcp"), new ServiceReplicaListener((ctx) => { return new GrpcCommunicationListener(ctx, grpcServices, LogMessage, GrpcEndpoint); }, "grpc") }); }
protected override Task ExecuteAsync(CancellationToken stoppingToken) { const string host = "localhost"; const int port = 50000; _server = new Server { Services = { GrpcMessageService.BindService(new GrpcServiceHost()) }, Ports = { new ServerPort(host, port, ServerCredentials.Insecure) } }; _server.Start(); return(Task.CompletedTask); }