private BaseProvider GetDatabaseProviderInstance(IHostConfig configuration) { var defaultDatabaseConfig = configuration.Database.Default; Type providerType = Type.GetType(defaultDatabaseConfig.ProviderType); if (providerType == null) { throw new InvalidConfigurationException("Could not locate Database Provider :" + defaultDatabaseConfig.ProviderType); } if (!providerType.ImplementsClass <BaseProvider>()) { throw new InvalidConfigurationException("Database Provider does not implement BaseProvider:" + defaultDatabaseConfig.ProviderType); } var instance = Activator.CreateInstance(providerType, defaultDatabaseConfig); var baseProvider = instance as BaseProvider; if (baseProvider != null) { baseProvider.Init(); return(baseProvider); } throw new InvalidOperationException("Type : " + providerType + " does not inherit from BaseProvider"); }
internal static HostContext CreateFrom(string configFilePath, ContextSettings settings) { if (string.IsNullOrEmpty(configFilePath)) { throw new ArgumentNullException("configFilePath"); } if (settings == null) { throw new ArgumentNullException("settings"); } // No change in config file, so dont need to re load it if (!string.IsNullOrEmpty(_configFilePath) && _configFilePath.Equals(configFilePath)) { return(_current); } if (!File.Exists(configFilePath)) { throw new ConfigurationErrorsException("Could not find config file: " + configFilePath); } _config = File.ReadAllText(configFilePath).FromJsonToObject <HostConfig>(); _configFilePath = configFilePath; _current = new HostContext(_config, settings); return(_current); }
/// <summary> /// 初始化服务总线(使用WCF服务) /// </summary> public static void InitializeRemoteBus() { bizbus = new RemoteBizBus(); RemoteBizBus rbizbus = bizbus as RemoteBizBus; string configuri = AppSettingConfig.getRemoteUriPath() + "Config"; string configPath = AppSettingConfig.getLocalConfigPath(); BasicHttpBinding bhb = new BasicHttpBinding("BasicHttpBinding_Service"); EndpointAddress epa = new EndpointAddress(configuri); IHostConfig hostconfig = ChannelFactory <IHostConfig> .CreateChannel(bhb, epa); XmlDocument doc = new XmlDocument(); if (string.IsNullOrEmpty(configPath)) { string configstring = hostconfig.GetConfigString(); doc.LoadXml(configstring); } //else //{ // string file = AppDomain.CurrentDomain.BaseDirectory + @"\namespace DrectSoft.FrameWork.Config"; // doc.Load(file); //} List <ServicePackageInfo> packages = ConfigLoader.GetPackageList(doc.DocumentElement); rbizbus.packages = packages; }
public SharpWsServerAdapter(IHostConfig config) { _wsServer = new WebSocketServer($"ws://0.0.0.0:{config.GetServerPort().ToString()}") { KeepClean = true, AuthenticationSchemes = AuthenticationSchemes.Basic, // 用基本验证字段承载签名信息,因为传输的并非原始密码,所以虽然是基本验证但不存在安全问题 UserCredentialsFinder = id => { string base64String = id.Name; if (!AppRoot.TryGetUser(base64String, out WsUserName wsUserName, out UserData userData, out string _)) { return(null); } var password = HashUtil.Sha1(base64String + AppRoot.GetUserPassword(wsUserName, userData)); // 经验证username对于基本验证来说没有用 return(new NetworkCredential(userData.LoginName, password, domain: null, roles: wsUserName.ClientType.GetName())); } }; //_wsServer.Log.Level = WebSocketSharp.LogLevel.Debug; _wsServer.Log.File = Path.Combine(HomePath.HomeLogsDirFullName, NTKeyword.WebSocketSharpMinerStudioLogFileName); _wsServer.Log.Output = (data, path) => { Console.WriteLine(data.Message); if (path != null && path.Length > 0) { using (var writer = new StreamWriter(path, true)) using (var syncWriter = TextWriter.Synchronized(writer)) { syncWriter.WriteLine(data.ToString()); } } }; _wsServer.AddWebSocketService <MinerClientSharpWsSessionAdapter>(AppRoot.MinerClientPath); _wsServer.AddWebSocketService <MinerStudioSharpWsSessionAdapter>(AppRoot.MinerStudioPath); MinerClientWsSessions = new SharpWsSessionsAdapter(_wsServer.WebSocketServices[AppRoot.MinerClientPath].Sessions); MinerStudioWsSessions = new SharpWsSessionsAdapter(_wsServer.WebSocketServices[AppRoot.MinerStudioPath].Sessions); }
private CurrentHostContext(IHostConfig configuration, ContextSettings settings) { Audit = configuration.Runtime.Audit; Config = configuration; UserTokens = new List <string>(); var logger = LogFactory.CreateInstance(configuration.Runtime.LogInfo); var commandArgs = new CommandArgs(configuration.Runtime.Parameters); var cache = CacheFactory.Create(configuration.Caching); cache.ItemRemoved += (sender, args) => { Log.Debug("Item removed from cache: " + args.CacheKey + " Reason : " + args.RemoveReason); if (args.Value is AuthenticationOutput) { // User has been removed from cache. Login expired UserTokens.Remove(args.CacheKey); } }; CurrentContext.CreateDefault(logger, commandArgs, cache); //override the passwords if encrypted if (configuration.Certificate.Encryption != null) { var certificate = configuration.Certificate.Encryption.GetX509Certificate(); if (certificate != null) { DecryptPasswords(configuration, certificate); } } CommandFactory = settings.CommandFactory; Provider = GetDatabaseProviderInstance(configuration); }
public AkkaAddressFactory(IHostConfig host, string protocol = "tcp") { _base = new StringBuilder(BuildBaseURL(host, protocol)); _paths = new List <string>() { "user" }; }
public MainViewModel(hostlog.ILogDog log, IHostConfig hostConfig, List <IProtocal> protocals) { _repo = new RedisHelper(0); _hostConfig = hostConfig; _protocals = protocals; _log = log; MenuItems = new ObservableCollection <HamburgerMenuItem>(); }
public DataFusionPlatformPlugin(IPluginHost host) : base(host) { _hostConfig = host.GetService <IHostConfig>(); _container = TinyIoCContainer.Current; _log = RegisterLogDog(_hostConfig.MinePluginConfig.MineName); _log.Info($"{_hostConfig.MinePluginConfig.MineName}开始载入..."); _container.Register <IHostConfig>(_hostConfig); _container.Register <ILogDog>(_log); _container.Register <MainViewModel>().AsSingleton(); _container.Register <Repo>().AsSingleton(); _waitHandle = new EventWaitHandle(false, EventResetMode.ManualReset); }
internal static AzureContext CreateFrom(Stream configStream, ContextSettings settings) { if (configStream == null) throw new ArgumentNullException("configStream"); if (settings == null) throw new ArgumentNullException("settings"); _config = configStream.ReadToEnd().FromJsonToObject<HostConfig>(); _current = new AzureContext(_config, settings); return _current; }
public static IContext CreateDefault(IHostConfig configuration, ContextSettings settings) { if (configuration == null) { throw new ArgumentNullException("configuration"); } if (settings == null) { throw new ArgumentNullException("settings"); } return(_defaultContext ?? (_defaultContext = new CurrentHostContext(configuration, settings))); }
public static HostConfig From(IHostConfig s) { if (s is HostConfig settings) { return(settings); } return(new HostConfig { Hostname = s.Hostname, Id = s.Id, Name = s.Name, Port = s.Port }); }
internal static AzureContext CreateFrom(string configFilePath, ContextSettings settings) { if (string.IsNullOrEmpty(configFilePath)) throw new ArgumentNullException("configFilePath"); if (settings == null) throw new ArgumentNullException("settings"); if (!File.Exists(configFilePath)) throw new ConfigurationErrorsException("Could not find config file: " + configFilePath); _config = File.ReadAllText(configFilePath).FromJsonToObject<HostConfig>(); _current = new AzureContext(_config, settings); return _current; }
internal static AzureContext CreateFrom(Stream configStream, ContextSettings settings) { if (configStream == null) { throw new ArgumentNullException("configStream"); } if (settings == null) { throw new ArgumentNullException("settings"); } _config = configStream.ReadToEnd().FromJsonToObject <HostConfig>(); _current = new AzureContext(_config, settings); return(_current); }
void IStartupTask.Run(IHostConfig config) { storageAddress = new EndpointAddress($"{config.EndpointName}.subscriptions"); if (!MsmqUtilities.QueueExists(storageAddress)) return; subscriptions.Clear(); GetQueue(); foreach (var message in storageQueue.GetAllMessages()) { var item = message.Body as MsmqSubscriptionStorageItem; if (item == null) continue; subscriptions.Add(item); } }
public static void RunStartupTasks(IHostConfig config) { var startupTasks = StartupTaskResolver.GetStartupTasks(); foreach (var task in startupTasks) { var taskName = task.GetType().Name; try { log.Verbose($"Running task {taskName}"); task.Run(config); } catch (Exception ex) { log.Error($"Failed to run startup task: {taskName}", ex); } } }
internal static HostContext CreateFrom(string configFilePath, ContextSettings settings) { if (string.IsNullOrEmpty(configFilePath)) throw new ArgumentNullException("configFilePath"); if (settings == null) throw new ArgumentNullException("settings"); // No change in config file, so dont need to re load it if (!string.IsNullOrEmpty(_configFilePath) && _configFilePath.Equals(configFilePath)) return _current; if (!File.Exists(configFilePath)) throw new ConfigurationErrorsException("Could not find config file: " + configFilePath); _config = File.ReadAllText(configFilePath).FromJsonToObject<HostConfig>(); _configFilePath = configFilePath; _current = new HostContext(_config, settings); return _current; }
private static void DecryptPasswords(IHostConfig configuration, X509Certificate2 certificate) { var encryptionMetadata = new Dictionary <string, object> { { "privatekey", certificate.PrivateKey } }; var encryptionEngine = EncryptionEngine.Get <RSAEncryptionEngine>(); if (configuration.Database.Default.IsEncrypted) { configuration.Database.Default.Password = encryptionEngine.Decrypt(configuration.Database.Default.Password, string.Empty, encryptionMetadata); ; } if (configuration.Runtime.SuperUser.IsEncrypted) { configuration.Runtime.SuperUser.Password = encryptionEngine.Decrypt(configuration.Runtime.SuperUser.Password, string.Empty, encryptionMetadata); } }
internal static AzureContext CreateFrom(string configFilePath, ContextSettings settings) { if (string.IsNullOrEmpty(configFilePath)) { throw new ArgumentNullException("configFilePath"); } if (settings == null) { throw new ArgumentNullException("settings"); } if (!File.Exists(configFilePath)) { throw new ConfigurationErrorsException("Could not find config file: " + configFilePath); } _config = File.ReadAllText(configFilePath).FromJsonToObject <HostConfig>(); _current = new AzureContext(_config, settings); return(_current); }
public SharpWsServer(IHostConfig config) { _wsServer = new WebSocketServer($"ws://0.0.0.0:{config.GetServerPort().ToString()}") { KeepClean = true, AuthenticationSchemes = AuthenticationSchemes.Basic, // 用基本验证字段承载签名信息,因为传输的并非原始密码,所以虽然是基本验证但不存在安全问题 UserCredentialsFinder = id => { string base64String = id.Name; if (!WsRoot.TryGetUser(base64String, out WsUserName wsUserName, out UserData userData, out string _)) { return(null); } string password = WsCommonService.GetUserPassword(wsUserName, userData); password = HashUtil.Sha1(base64String + password); // 经验证username对于基本验证来说没有用 return(new NetworkCredential(userData.LoginName, password, domain: null, roles: wsUserName.ClientType.GetName())); } }; _wsServer.AddWebSocketService <MinerClientSharpWsSessionAdapter>(WsRoot.MinerClientPath); _wsServer.AddWebSocketService <MinerStudioSharpWsSessionAdapter>(WsRoot.MinerStudioPath); MinerClientWsSessionsAdapter = new SharpWsSessionsAdapter(_wsServer.WebSocketServices[WsRoot.MinerClientPath].Sessions); MinerStudioWsSessionsAdapter = new SharpWsSessionsAdapter(_wsServer.WebSocketServices[WsRoot.MinerStudioPath].Sessions); }
public WorkerHost(IHostConfig config) { _configureCommonContainer(); _container.RegisterInstance(config); }
public WatcherConfigProxy(IHostConfig config) { _config = config; }
protected UrlBuilderBase(IHostConfig hostConfig) { _hostConfig = hostConfig ?? throw new ArgumentNullException(nameof(hostConfig)); }
internal static AzureContext CreateFrom(IHostConfig config, ContextSettings settings) { _config = config; _current = new AzureContext(_config, settings); return(_current); }
public DatabaseViewModel() { _hostConfig = TinyIoCContainer.Current.Resolve <IHostConfig>(); _repo = TinyIoCContainer.Current.Resolve <Repo>(); }
public Repo(IHostConfig hostConfig) { _redis = new RedisHelper(0); }
private CurrentHostContext(IHostConfig configuration, ContextSettings settings) { Audit = configuration.Runtime.Audit; Config = configuration; UserTokens = new List<string>(); var logger = LogFactory.CreateInstance(configuration.Runtime.LogInfo); var commandArgs = new CommandArgs(configuration.Runtime.Parameters); var cache = CacheFactory.Create(configuration.Caching); cache.ItemRemoved += (sender, args) => { Log.Debug("Item removed from cache: " + args.CacheKey + " Reason : " + args.RemoveReason); if (args.Value is AuthenticationOutput) { // User has been removed from cache. Login expired UserTokens.Remove(args.CacheKey); } }; CurrentContext.CreateDefault(logger, commandArgs, cache); //override the passwords if encrypted if (configuration.Certificate.Encryption != null) { var certificate = configuration.Certificate.Encryption.GetX509Certificate(); if (certificate != null) { DecryptPasswords(configuration, certificate); } } CommandFactory = settings.CommandFactory; Provider = GetDatabaseProviderInstance(configuration); }
internal static AzureContext CreateFrom(IHostConfig config, ContextSettings settings) { _config = config; _current = new AzureContext(_config, settings); return _current; }
public RIPActor(ILogService logService, IHostConfig host) { _log = logService.ForContext <RIPActor>(); _hostActor = Context.ActorSelection(AkkaAddressFactory.BuildTcp(host, "RIP")); ConfigureReceivers(); }
public ProtocalViewModel() { _repo = TinyIoCContainer.Current.Resolve <Repo>(); _hostConfig = TinyIoCContainer.Current.Resolve <IHostConfig>(); }
private static string BuildBaseURL(IHostConfig host, string protocol) => $"akka.{protocol}://{host.Id}@{host.Hostname}:{host.Port}";
private AzureContext(IHostConfig configuration, ContextSettings settings) { CurrentHostContext.CreateDefault(configuration, settings); }
public static IContext CreateDefault(IHostConfig configuration, ContextSettings settings) { if (configuration == null) throw new ArgumentNullException("configuration"); if (settings == null) throw new ArgumentNullException("settings"); return _defaultContext ?? (_defaultContext = new CurrentHostContext(configuration, settings)); }
private static void DecryptPasswords(IHostConfig configuration, X509Certificate2 certificate) { var encryptionMetadata = new Dictionary<string, object> {{"privatekey", certificate.PrivateKey}}; var encryptionEngine = EncryptionEngine.Get<RSAEncryptionEngine>(); if (configuration.Database.Default.IsEncrypted) { configuration.Database.Default.Password = encryptionEngine.Decrypt(configuration.Database.Default.Password, string.Empty, encryptionMetadata); ; } if (configuration.Runtime.SuperUser.IsEncrypted) { configuration.Runtime.SuperUser.Password = encryptionEngine.Decrypt(configuration.Runtime.SuperUser.Password, string.Empty, encryptionMetadata); } }
private BaseProvider GetDatabaseProviderInstance(IHostConfig configuration) { var defaultDatabaseConfig = configuration.Database.Default; Type providerType = Type.GetType(defaultDatabaseConfig.ProviderType); if (providerType == null) throw new InvalidConfigurationException("Could not locate Database Provider :" + defaultDatabaseConfig.ProviderType); if (!providerType.ImplementsClass<BaseProvider>()) throw new InvalidConfigurationException("Database Provider does not implement BaseProvider:" + defaultDatabaseConfig.ProviderType); var instance = Activator.CreateInstance(providerType, defaultDatabaseConfig); var baseProvider = instance as BaseProvider; if (baseProvider != null) { baseProvider.Init(); return baseProvider; } throw new InvalidOperationException("Type : " + providerType + " does not inherit from BaseProvider"); }
private HostContext(IHostConfig configuration, ContextSettings settings) { CurrentHostContext.CreateDefault(configuration, settings); }
public static string BuildTcp(IHostConfig host, params string[] paths) => new AkkaAddressFactory(host, "tcp") .AddPath(paths) .Build();