/// <summary> /// /// </summary> /// <returns></returns> private bool TryStartGrpc() { try { // create settings. GrpcClientSettings settings = new GrpcClientSettings(); settings.MarshallerFactory = GrpcMarshallerFactory.DefaultInstance; settings.PerformanceListener = new GrpcClientPerformanceListener(); RegistPerformanceEventHandlers(settings.PerformanceListener); // create client. ChannelCredentials credential = ChannelCredentials.Insecure; m_Channel = new Channel(string.Format("{0}:{1}", m_Settings.ServerName, m_Settings.ServerPort), credential); GrpcCallInvoker invoker = GrpcCallInvoker.Create(m_Channel, settings); //TestMethodInterceptor interceptor = new TestMethodInterceptor(); //m_Invoker.AddInvokingInterceptor(interceptor); //m_Invoker.AddInvokedInterceptor(interceptor); //m_Invoker.AddExceptionHandler(interceptor); m_Client = new PlayerSearch.PlayerSearchClient(invoker); m_HeartbeatContext = GrpcHeartbeat.CreateClientObject(m_Channel); return(true); } catch (Exception ex) { MessageBox.Show(ex.Message); return(false); } }
/// <summary> /// /// </summary> /// <param name="args"></param> static void Main(string[] args) { Server server = new Server(); try { SampleServerSettings settings = SampleServerSettings.LoadFromFile("SampleServerSettings.config"); //ServiceTimeFillterAttribute.DefaultOpenTime = null; //ServiceTimeFillterAttribute.DefaultCloseTime = null; // regist service. GrpcServiceBuilder builder = new GrpcServiceBuilder(); GrpcServiceBuilderSettings builderSettings = new GrpcServiceBuilderSettings(); builderSettings.MarshallerFactory = GrpcMarshallerFactory.DefaultInstance; builderSettings.PerformanceListener = new GrpcServerPerformanceListener(); RegistPerformanceEventHandlers(builderSettings.PerformanceListener); server.Services.Add(builder.BuildService("PlayerSearch", typeof(PlayerSearch), new PlayerSearchServiceImpl(), builderSettings)); // regist heartbeat. server.Services.Add(GrpcHeartbeat.BuildService()); // start server. Grpc.Core.ServerCredentials credential = Grpc.Core.ServerCredentials.Insecure; server.Ports.Add(settings.ServerName, settings.ServerPort, credential); Console.WriteLine(string.Format("Starting... {0}:{1}", settings.ServerName, settings.ServerPort)); server.Start(); Console.WriteLine("Started."); Console.WriteLine("If you want to shutdown, please press any key."); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { Console.WriteLine("In shutdown..."); try { if (server != null) { server.ShutdownAsync().Wait(); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } Console.WriteLine("Shutdown completed."); } Console.WriteLine("If you want to close, please press any key."); Console.ReadLine(); }