/// <summary>
 /// IHostedService stop
 /// </summary>
 /// <param name="cancellationToken"></param>
 /// <returns></returns>
 public Task StopAsync(CancellationToken cancellationToken)
 {
     lock (_StaticLockProxy)
     {
         Dispose();
         _Instance = null;
     }
     return(Task.CompletedTask);
 }
        /// <summary>
        /// IHostedService startup
        /// </summary>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public Task StartAsync(CancellationToken cancellationToken)
        {
            lock (_StaticLockProxy)
            {
                if (null == _Instance)
                {
                    Start();
                    _Instance = this;
                }
            }

            return(Task.CompletedTask);
        }