public static ServerServiceDefinition UseDashBoard(this ServerServiceDefinition serverServiceDefinition) { var bindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; var callHandlers = serverServiceDefinition.GetPropertyValue <IDictionary>("CallHandlers", bindingFlags); #region 注册基本服务 var metaService = new MetaService(); var metaBuilder = ServerServiceDefinition.CreateBuilder(); metaService.RegisterMethod(metaBuilder); var metaCallHandlers = metaBuilder.GetFieldValue <IDictionary>("callHandlers", bindingFlags).Item1; foreach (DictionaryEntry callHandler in callHandlers) { metaCallHandlers.Add(callHandler.Key, callHandler.Value); } #endregion //生成Grpc元数据信息 GrpcServiceExtension.BuildMeta(metaCallHandlers); return(metaBuilder.Build()); }