using System; using System.Collections.Generic; using System.Linq; using System.Text; using Consul; using Microsoft.Extensions.Options; using Yi.Framework.Common.IOCOptions; namespace Yi.Framework.Core.Consul { /// /// 轮询 /// public class PollingDispatcher : AbstractConsulDispatcher { #region Identity private static int _iTotalCount = 0; private static int iTotalCount { get { return _iTotalCount; } set { _iTotalCount = value >= int.MaxValue ? 0 : value; } } public PollingDispatcher(IOptionsMonitor consulClientOption) : base(consulClientOption) { } #endregion /// /// 轮询 /// /// /// protected override int GetIndex() { return iTotalCount++ % _CurrentAgentServiceDictionary.Length; } } }