internal static async Task <IGatewayListProvider> CreateGatewayListProvider(ClientConfiguration cfg) { IGatewayListProvider listProvider = null; ClientConfiguration.GatewayProviderType gatewayProviderToUse = cfg.GatewayProviderToUse; switch (gatewayProviderToUse) { case ClientConfiguration.GatewayProviderType.AzureTable: listProvider = AssemblyLoader.LoadAndCreateInstance <IGatewayListProvider>(Constants.ORLEANS_AZURE_UTILS_DLL, logger); break; case ClientConfiguration.GatewayProviderType.SqlServer: listProvider = new SqlMembershipTable(); break; case ClientConfiguration.GatewayProviderType.ZooKeeper: listProvider = AssemblyLoader.LoadAndCreateInstance <IGatewayListProvider>(Constants.ORLEANS_ZOOKEEPER_UTILS_DLL, logger); break; case ClientConfiguration.GatewayProviderType.Config: listProvider = new StaticGatewayListProvider(); break; default: throw new NotImplementedException(gatewayProviderToUse.ToString()); } await listProvider.InitializeGatewayListProvider(cfg, TraceLogger.GetLogger(listProvider.GetType().Name)); return(listProvider); }
internal IGatewayListProvider CreateGatewayListProvider() { IGatewayListProvider listProvider; ClientConfiguration.GatewayProviderType gatewayProviderToUse = cfg.GatewayProviderToUse; switch (gatewayProviderToUse) { case ClientConfiguration.GatewayProviderType.AzureTable: listProvider = AssemblyLoader.LoadAndCreateInstance <IGatewayListProvider>(Constants.ORLEANS_AZURE_UTILS_DLL, logger, this.serviceProvider); break; case ClientConfiguration.GatewayProviderType.SqlServer: listProvider = AssemblyLoader.LoadAndCreateInstance <IGatewayListProvider>(Constants.ORLEANS_SQL_UTILS_DLL, logger, this.serviceProvider); break; case ClientConfiguration.GatewayProviderType.Custom: listProvider = AssemblyLoader.LoadAndCreateInstance <IGatewayListProvider>(cfg.CustomGatewayProviderAssemblyName, logger, this.serviceProvider); break; case ClientConfiguration.GatewayProviderType.ZooKeeper: listProvider = AssemblyLoader.LoadAndCreateInstance <IGatewayListProvider>(Constants.ORLEANS_ZOOKEEPER_UTILS_DLL, logger, this.serviceProvider); break; case ClientConfiguration.GatewayProviderType.Config: listProvider = new StaticGatewayListProvider(); break; default: throw new NotImplementedException(gatewayProviderToUse.ToString()); } return(listProvider); }