/// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="fastDFSConfig">注入配置数据</param>
        public FastDFSProvider(FastDFSConfig fastDFSConfig)
        {
            _fastDFSConfig = fastDFSConfig ?? throw new ArgumentNullException(nameof(fastDFSConfig));
            string[] trackers   = fastDFSConfig.Trackers.Split(',', StringSplitOptions.RemoveEmptyEntries);
            var      trackerIPs = new List <IPEndPoint>();

            foreach (var onetracker in trackers)
            {
                trackerIPs.Add(new IPEndPoint(IPAddress.Parse(onetracker), fastDFSConfig.Port));
            }
            ConnectionManager.Initialize(trackerIPs);
        }
Example #2
0
        /// <summary>
        /// Add SnowLeopard FastDFS
        /// </summary>
        /// <param name="services"></param>
        /// <param name="fastDFSConfig"></param>
        public static void AddSnowLeopardFastDFS(this IServiceCollection services, FastDFSConfig fastDFSConfig)
        {
            FDFSConfig.ConnectionTimeout     = fastDFSConfig.ConnectionTimeout ?? 100;
            FDFSConfig.Connection_LifeTime   = fastDFSConfig.ConnectionLifeTime ?? 3600;
            FDFSConfig.Storage_MaxConnection = fastDFSConfig.StorageMaxConnection ?? 100;
            FDFSConfig.Tracker_MaxConnection = fastDFSConfig.TrackerMaxConnection ?? 100;
            var trackerServers = new List <IPEndPoint>();

            FDFSConfig.Trackers = trackerServers;

            if (fastDFSConfig?.Trackers != null)
            {
                foreach (var tracker in fastDFSConfig.Trackers)
                {
                    if (string.IsNullOrEmpty(tracker.IP) == false)
                    {
                        var point = new IPEndPoint(IPAddress.Parse(tracker.IP), tracker.Port);
                        trackerServers.Add(point);
                    }
                }
            }
        }