public void UpdateRunningMicroServiceProperties(Models.ServiceProperties serviceProperties, string userAgent, string userHostAddress)
    {
        if (serviceProperties == null)
        {
            return;
        }
        var palaceInfo = PalaceInfoManager.GetOrCreatePalaceInfo(userAgent, userHostAddress);

        if (palaceInfo.HostName == null)
        {
            return;
        }

        palaceInfo.LastHitDate = DateTime.Now;
        var runningList = GetRunningList();

        var key = $"{palaceInfo.MachineName}.{palaceInfo.HostName}.{serviceProperties.ServiceName}".ToLower();
        var rms = runningList.SingleOrDefault(i => i.Key == key);

        if (rms == null)
        {
            return;
        }

        foreach (var item in serviceProperties.PropertyList)
        {
            var propertyInfo = rms.GetType().GetProperty(item.PropetyName, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.IgnoreCase);
            if (propertyInfo == null)
            {
                continue;
            }
            var value = System.Convert.ChangeType(item.PropertyValue, propertyInfo.PropertyType);
            propertyInfo.SetValue(rms, value, null);
        }
        rms.LastUpdateDate = DateTime.Now;

        if (rms.ServiceState == "UpdateDetected")
        {
            LockDownload(rms.ServiceName, palaceInfo.Key);
        }
        else if (rms.ServiceState == "Started")
        {
            UnLockDownload(rms.ServiceName);
        }

        OnChanged?.Invoke();
    }
    public IActionResult UpdateRunningMicroServiceProperties([FromHeader] string authorization, Models.ServiceProperties serviceProperties)
    {
        EnsureGoodAuthorization(authorization);

        Collector.UpdateRunningMicroServiceProperties(serviceProperties, HttpContext.GetUserAgent(), HttpContext.GetUserHostAddress());
        return(Ok());
    }