public static void ExposeService <T, TImpl>(ServiceRegistryMetta serviceMetta) where TImpl : class { var registry = AppEnv.GlobalConfiguration.Registry; registry.RegisterService(serviceMetta); AppEnv._typeBuilder.RegisterType <T, TImpl>(); AnalyzeType(typeof(T)); }
public static void ExposeService <T, TImpl>() where TImpl : class { var serviceMetta = new ServiceRegistryMetta { InstanceType = typeof(TImpl).AssemblyQualifiedName, InterfaceType = typeof(T).AssemblyQualifiedName, Protocol = AppEnv.GlobalConfiguration.ProviderConfiguration.Protocol, SerializeMode = AppEnv.GlobalConfiguration.ProviderConfiguration.SerializeMode, ApiDomain = AppEnv.GlobalConfiguration.ProviderConfiguration.ApiDomain, ServerAddress = AppEnv.GlobalConfiguration.ProviderConfiguration.ApiIpAddress, IsEnabled = true, Attributes = DictionaryUtils.GetFromConfig(AppEnv.GlobalConfiguration.ProviderConfiguration.AddtionalFields) }; ExposeService <T, TImpl>(serviceMetta); }
public IInvoker CreateInvoker(ServiceRegistryMetta options) { //var exists = SeifApplication.AppEnv.GlobalConfiguration.Invokers.ContainsKey(options.Protocol); //if (!exists) // throw new Exception(string.Format("Cann't find invoker by name {0}", options.Protocol)); //return SeifApplication.AppEnv.GlobalConfiguration.Invokers[options.Protocol]; var serializer = SeifApplication.GetSerializer(options.SerializeMode); switch (options.Protocol.ToUpperInvariant()) { case "HTTPINVOKER": return(new HttpInvoker(options.ServerAddress, serializer, options.Attributes)); default: return(null); } }
public void UnregisterService(ServiceRegistryMetta nodeData) { throw new System.NotImplementedException(); }
public void NotifyChange(ServiceRegistryMetta data) { var message = _serializer.Serialize(data); _redisClient.PublishMessage(data.ServiceIdentifier, message); }