/// <summary> /// 构造方法 /// </summary> /// <param name="pipeline">数据管道</param> public DownloadCache(BaseEntityPipeline pipeline) { if (pipeline == null) { _pipeline = BaseEntityPipeline.GetPipelineFromAppConfig() as BaseEntityDbPipeline; } else { _pipeline = pipeline; } if (_pipeline == null) { throw new SpiderException("StorageCache's pipeline unfound"); } _pipeline.AddEntity(new EntityDefine <DownloadCacheData>()); _pipeline.Init(); }
public void GetPipelineFromAppConfig() { var configuration = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap { ExeConfigFilename = "app.config" }, ConfigurationUserLevel.None); var pipeline1 = BaseEntityPipeline.GetPipelineFromAppConfig(configuration.ConnectionStrings.ConnectionStrings["DataConnection"]); Assert.True(pipeline1 is MySqlEntityPipeline); var pipeline2 = BaseEntityPipeline.GetPipelineFromAppConfig(configuration.ConnectionStrings.ConnectionStrings["SqlServerDataConnection"]); Assert.True(pipeline2 is SqlServerEntityPipeline); var pipeline3 = BaseEntityPipeline.GetPipelineFromAppConfig(configuration.ConnectionStrings.ConnectionStrings["MongoDbDataConnection"]); Assert.True(pipeline3 is MongoDbEntityPipeline); }
protected override IPipeline GetDefaultPipeline() { return(BaseEntityPipeline.GetPipelineFromAppConfig()); }