public void AddPersistenceMedia(AkaCacheOptions options) { NamedNullException.Assert(options, nameof(options)); var name = StringNullOrWhiteSpaceException.Assert(options.Name, nameof(options.Name)); if (_caches.ContainsKey(name)) { throw new CreateSameNameMediaException(name); } var path = Path.GetFullPath(options.PersistenceMediaDirPath); path.EnsureDirExists(); var full = Path.Combine(path, $"{name}.db"); _caches[name] = options.NeedEncryption ? new SQLiteEncryptedBlobCache(full) : new SqlRawPersistentBlobCache(full); }
public AkaCacheOptions(string name, string path) { Name = StringNullOrWhiteSpaceException.Assert(name, nameof(name)); PersistenceMediaDirPath = StringNullOrWhiteSpaceException.Assert(path, nameof(path)); }