Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
 public void UnregisterService(ServiceRegistryMetta nodeData)
 {
     throw new System.NotImplementedException();
 }
Exemplo n.º 5
0
        public void NotifyChange(ServiceRegistryMetta data)
        {
            var message = _serializer.Serialize(data);

            _redisClient.PublishMessage(data.ServiceIdentifier, message);
        }