public CompositeRepository(DaoRepository sourceRepository, DataProvider dataProvider = null) { DataDirectoryProvider = dataProvider ?? DataProvider.Current; SourceRepository = sourceRepository; ReadRepository = new CachingRepository(sourceRepository); WriteRepositories = new HashSet <IRepository>(); WorkspacePath = DataDirectoryProvider.GetWorkspaceDirectory(this.GetType()).FullName; BackupRepository = ServiceRegistry.Default.Get <IRepository>(); TypeSchemaTempPathProvider = (sd, ts) => Path.Combine(WorkspacePath, sd.Name, ts.Hash); WireBackup(); sourceRepository.StorableTypes.Each(type => AddType(type)); }
/// <summary> /// Can't call into Octgn.Core.Prefs /// Can't call into Octgn.Library.Paths /// </summary> public Config() { try { _isConstructing = true; var ass = typeof(Config).Assembly; var assFile = new FileInfo(ass.Location); WorkingDirectory = assFile.Directory.FullName; _cacheLocker = new ReaderWriterLockSlim(); _locker = new ReaderWriterLockSlim(); var dataDirectoryProvider = new DataDirectoryProvider(); var dataDirectory = dataDirectoryProvider.Get(); var correctedPath = ResolvePath(dataDirectory); Paths = new Paths(correctedPath, WorkingDirectory); DataDirectory = dataDirectory; // Expected Exception: System.InvalidOperationException // Additional information: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly. _cache = new MemoryCache("ConfigCache"); Log.Info("Config Path: " + ConfigPath); Log.Debug("Created Paths"); } catch { _cacheLocker?.Dispose(); _locker?.Dispose(); _cache?.Dispose(); throw; } finally { _isConstructing = false; } }
public S3FileSystem(string bucketName, IDataDirectoryProvider dataDirectoryProvider, AmazonS3Client amazonS3Client) : base(dataDirectoryProvider, new S3FileService(bucketName, amazonS3Client)) { BucketName = DefaultBucketName; Repository = new DaoRepository(); LocalFs = new Fs(DataDirectoryProvider.GetFilesDirectory()); }