コード例 #1
0
 public GrpcServerBuilder()
 {
     GrpcServicerProxyers = new List <Type>();
     Interceptors         = new List <Type>();
     Options       = new GrpcServerOptions();
     AssemblyNames = new List <string>();
 }
コード例 #2
0
 /// <summary>
 /// 注入Grpc,Consul配制
 /// </summary>
 /// <param name="options"></param>
 /// <returns></returns>
 public ServerBuilder UseGrpcOptions(GrpcServerOptions options)
 {
     GrpcServerOptions.Instance.ServiceAddress    = options.ServiceAddress;
     GrpcServerOptions.Instance.ConsulUrl         = options.ConsulUrl;
     GrpcServerOptions.Instance.ConsulServiceName = options.ConsulServiceName;
     GrpcServerOptions.Instance.ConsulTags        = options.ConsulTags;
     return(this);
 }
コード例 #3
0
 public RegisterServiceHosted(IServiceRegister serviceRegister, IServer server, IOptions <GrpcServerOptions> grpcServerOptions,
                              IHostApplicationLifetime hostApplicationLifetime, ILogger <RegisterServiceHosted> logger)
 {
     _serviceRegister         = serviceRegister;
     _server                  = server;
     _grpcServerOptions       = grpcServerOptions.Value;
     _hostApplicationLifetime = hostApplicationLifetime;
     _logger                  = logger;
 }
コード例 #4
0
ファイル: GrpcHostFactory.cs プロジェクト: GreatGeorge1/Grpc
        public static GrpcHost <TService> Create <TService>(
            IServiceProvider appServices,
            GrpcServerOptions options,
            ISerializer serializer
            )
            where TService : class, IGrpcService
        {
            var builder = new GrpcHostBuilder <TService>(appServices);

            builder.SetOptions(options);
            builder.SetSerializer(serializer);
            builder.AddUnaryMethods();
            return(builder.Build());
        }
コード例 #5
0
        static void Main(string[] args)
        {
            Console.WriteLine(Environment.CurrentDirectory);
            var options = new GrpcServerOptions()
            {
                Host           = "127.0.0.1",
                Port           = 3002,
                NamespaceName  = "Atlantis.Simple",
                PackageName    = "Atlantis.Simple",
                ServiceName    = "AtlantisService",
                ScanAssemblies = new string[]
                {
                    typeof(IPersonServicer).Assembly.FullName
                }
            };

            var consulSetting = new ConsulSettingOptions()
            {
                ConsulAddressUrl = "http://192.168.0.251:8500"
            };
            var serviceOptions = new ConsulServiceOptions()
            {
                ServiceName = "Atlantis.Test",
                Address     = "127.0.0.1",
                Port        = 3002,
                TTL         = 1000
            };

            var consulManager = new ConsulManager()
                                .Init(consulSetting)
                                .WithServiceOptions(serviceOptions);

            consulManager.Service.RegisteAsync().Wait();

            //GrpcConfiguration.LoggerFactory=new Loggerfac();

            var server = new GrpcServer(options);

            ObjectContainer.Register <IPersonServicer, PersonServicer>(LifeScope.Single);
            server.Start();

            Console.WriteLine("Server is running...");
            Console.ReadLine();
        }
コード例 #6
0
ファイル: GrpcHostBuilder.cs プロジェクト: GreatGeorge1/Grpc
 public GrpcHostBuilder <TService> SetOptions(GrpcServerOptions options)
 {
     _options = options;
     return(this);
 }