zhaolei
8 days ago 921de2254ff5712a44ed8575ee8efe34252f6603
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Net.Http;
 
namespace Prow.Web
{
    /// <summary>
    /// IP定位器配置项
    /// </summary>
    public class IPLocatorOption
    {
        /// <summary>
        /// 获得/设置 定位器名称
        /// </summary>
        public string LocatorName { get; set; } = "";
 
        /// <summary>
        /// 获得/设置 定位器创建方法未设置使用内部定位器
        /// </summary>
        public Func<string, IIPLocator>? LocatorFactory { get; set; } = null;
 
        /// <summary>
        /// IP定位器请求地址
        /// </summary>
        public string Url { get; set; } = "";
 
        /// <summary>
        /// HttpClient 实体类
        /// </summary>
        internal HttpClient? HttpClient { get; set; }
 
        /// <summary>
        /// ILogger 实体类
        /// </summary>
        internal ILogger<IIPLocatorProvider>? Logger { get; set; }
 
        /// <summary>
        /// 获得/设置 缓存时长 默认为 60 * 1000 毫秒
        /// </summary>
        public int Period { get; set; } = 60 * 1000;
 
        /// <summary>
        /// 获得/设置 IP地址请求超时时间 默认为 3000 毫秒
        /// </summary>
        public int RequestTimeout { get; set; } = 3000;
 
        /// <summary>
        /// 获得/设置 IP地址
        /// </summary>
        public string IP { get; set; } = "";
 
        /// <summary>
        /// 获得 本机地址列表
        /// </summary>
        public List<string> Localhosts { get; } = new List<string>(new string[] { "::1", "127.0.0.1" });
    }
}