Providers排序

This commit is contained in:
陈国伟 2021-06-18 15:50:10 +08:00
parent b61b469168
commit 52a2609239
5 changed files with 22 additions and 1 deletions

View File

@ -1,5 +1,6 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace FastGithub.Scanner namespace FastGithub.Scanner
@ -18,7 +19,7 @@ namespace FastGithub.Scanner
/// <param name="providers"></param> /// <param name="providers"></param>
public DomainAddressFacotry(IEnumerable<IDomainAddressProvider> providers) public DomainAddressFacotry(IEnumerable<IDomainAddressProvider> providers)
{ {
this.providers = providers; this.providers = providers.OrderBy(item => item.Order);
} }
/// <summary> /// <summary>

View File

@ -23,6 +23,11 @@ namespace FastGithub.Scanner.DomainAddressProviders
private readonly ILogger<GithubMetaProvider> logger; private readonly ILogger<GithubMetaProvider> logger;
private const string META_URI = "https://api.github.com/meta"; private const string META_URI = "https://api.github.com/meta";
/// <summary>
/// 获取排序
/// </summary>
public int Order => int.MaxValue;
/// <summary> /// <summary>
/// Github公开的域名与ip关系提供者 /// Github公开的域名与ip关系提供者
/// </summary> /// </summary>

View File

@ -22,6 +22,11 @@ namespace FastGithub.Scanner.DomainAddressProviders
private readonly ILogger<IPAddressComProvider> logger; private readonly ILogger<IPAddressComProvider> logger;
private readonly Uri lookupUri = new("https://www.ipaddress.com/ip-lookup"); private readonly Uri lookupUri = new("https://www.ipaddress.com/ip-lookup");
/// <summary>
/// 获取排序
/// </summary>
public int Order => default;
/// <summary> /// <summary>
/// ipaddress.com的域名与ip关系提供者 /// ipaddress.com的域名与ip关系提供者
/// </summary> /// </summary>

View File

@ -19,6 +19,11 @@ namespace FastGithub.Scanner.DomainAddressProviders
private readonly IOptionsMonitor<GithubOptions> options; private readonly IOptionsMonitor<GithubOptions> options;
private readonly ILogger<PublicDnsProvider> logger; private readonly ILogger<PublicDnsProvider> logger;
/// <summary>
/// 获取排序
/// </summary>
public int Order => default;
/// <summary> /// <summary>
/// 公共dns的域名与ip关系提供者 /// 公共dns的域名与ip关系提供者
/// </summary> /// </summary>

View File

@ -8,6 +8,11 @@ namespace FastGithub.Scanner
/// </summary> /// </summary>
interface IDomainAddressProvider interface IDomainAddressProvider
{ {
/// <summary>
/// 获取排序
/// </summary>
int Order { get; }
/// <summary> /// <summary>
/// 创建域名与ip的关系 /// 创建域名与ip的关系
/// </summary> /// </summary>