示例#1
0
        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);
        }
示例#2
0
 public AkaCacheOptions(string name, string path)
 {
     Name = StringNullOrWhiteSpaceException.Assert(name, nameof(name));
     PersistenceMediaDirPath = StringNullOrWhiteSpaceException.Assert(path, nameof(path));
 }