Esempio n. 1
0
 public MongoStorage(FileStorageContext context)
 {
     this.context     = context;
     connectionString = context.GetConfig("mongoConnectionString") ?? connectionString;
     mongoClient      = new MongoClient(connectionString);
     db = mongoClient.GetDatabase("MongoFileSystem");
 }
Esempio n. 2
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="context"></param>
 public LocalStorage(FileStorageContext context)
 {
     this.context = context;
     rootDir      = context.GetConfig("localRootDirectory") ?? rootDir;
     if (!rootDir.EndsWith("\\"))
     {
         rootDir = rootDir + "\\";
     }
 }
Esempio n. 3
0
        IFileStorage CreateStorage()
        {
            FileStorageContext context      = GetContext();
            string             assemblyName = context.GetConfig("storageDriver.assembly");
            string             typeName     = context.GetConfig("storageDriver.type");
            Assembly           assembly     = Assembly.Load(assemblyName);

            IFileStorage storage = (IFileStorage)assembly
                                   .CreateInstance(typeName, true, BindingFlags.Default, null
                                                   , new object[] { context }, null, null);

            return(storage);
        }
Esempio n. 4
0
        /// <summary>
        /// 读取配置文件获取文件存储上下文
        /// </summary>
        /// <returns></returns>
        private FileStorageContext GetContext()
        {
            FileStorageContext      context = new FileStorageContext();
            ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();

            fileMap.ExeConfigFilename = configPath;

            Configuration configuration = ConfigurationManager
                                          .OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

            foreach (var key in configuration.AppSettings.Settings.AllKeys)
            {
                context.SetConfig(key, configuration.AppSettings.Settings[key].Value);
            }
            return(context);
        }