/// <summary> /// Create <see cref="ConnectionStringSettings"/> instance. /// </summary> /// <summary xml:lang="zh-CN"> /// 创建数据库配置对象 /// </summary> /// <param name="source">数据库 <see cref="Database"/></param> /// <param name="connectString">连接字符串</param> /// <returns>数据库配置对象 <see cref="ConnectionStringSettings"/></returns> public static ConnectionStringSettings GetConnectionStringSettings(Common.Database source, string connectString) { switch (source) { case Common.Database.MySql: { return(new ConnectionStringSettings("MySql", connectString, DbProviderFactories.MySqlProvider)); } case Common.Database.SqlServer: { return(new ConnectionStringSettings("SqlServer", connectString, DbProviderFactories.SqlServerProvider)); } case Common.Database.PostgreSql: { return(new ConnectionStringSettings("PostgreSql", connectString, DbProviderFactories.PostgreSqlProvider)); } default: { throw new SpiderException($"Unsported databse: {source}"); } } }
/// <summary> /// Create <see cref="DbConnection"/> instance. /// </summary> /// <summary xml:lang="zh-CN"> /// 创建连接对象 /// </summary> /// <param name="source"><see cref="Database"/></param> /// <param name="connectString"></param> /// <returns></returns> public static DbConnection CreateDbConnection(Common.Database source, string connectString) { DbProviderFactory factory; switch (source) { case Common.Database.MySql: { factory = DbProviderFactories.GetFactory(DbProviderFactories.MySqlProvider); break; } case Common.Database.SqlServer: { factory = DbProviderFactories.GetFactory(DbProviderFactories.SqlServerProvider); break; } case Common.Database.PostgreSql: { factory = DbProviderFactories.GetFactory(DbProviderFactories.PostgreSqlProvider); break; } default: { throw new SpiderException($"Unsported database: {source}"); } } for (int i = 0; i < 5; ++i) { try { var connection = factory.CreateConnection(); if (connection != null) { connection.ConnectionString = connectString; connection.Open(); return(connection); } } catch (Exception e) { if (e.Message.ToLower().StartsWith("authentication to host")) { Log.Logger.Error($"{e}"); Thread.Sleep(1000); } else { throw; } } } throw new SpiderException("Create connection failed"); }
static void Main(string[] args) { var time = new Time.Time(); var database = new Common.Database(); var securityGateway = new Security.Gateway.Gateway(time, database); var router = Factory.CreateRouter(); router = securityGateway.RoutesUp(router); Http.Server.HttpServer.Start("http://*:8888/", router); }
public VideoList(String site, String videoUrl) { InitializeComponent(); if (database == null) { database = new Common.Database(); favoriteVVM = database.getVideo(); } this.site = site; this.videoUrl = videoUrl; // Get Parser switch (this.site) { case "zuidazy": pageParser = new ZUIDAZY(); break; case "jikzy": pageParser = new JIKZY(); break; } isFavoritePage = (videoUrl.CompareTo("FAVORITE") == 0) ? true : false; listView.ItemsSource = videos; // Bind events listView.ItemSelected += ListView_ItemSelected; listView.ItemAppearing += listView_ItemAppearing; loadMoreButton.Clicked += LoadMoreButton_Clicked; // Load Videos if (isFavoritePage) { loadMoreButton.IsVisible = false; foreach (var video in favoriteVVM) { video.Image = video.Favorite ? tool.LIKEURL : tool.DISLIKEURL; videos.Add(video); } } else { LoadData(); } }