Example #1
0
        public RegistryHttpClient(RegistryClientSettings registryClientSettings = null)
        {
            Settings = registryClientSettings ?? RegistryClientSettings.LoadSettings();

            LoadSettings(Settings);
            JsonSerializerSettings = new JsonStandardSettings();
        }
Example #2
0
        public void LoadSettings(RegistryClientSettings settings)
        {
            if (settings.ProxyConfig.UseProxy && !string.IsNullOrEmpty(settings.ProxyConfig.ProxyAddress))
            {
                HttpClientHandler.UseProxy = true;
                if (!string.IsNullOrEmpty(settings.ProxyConfig.UserName) && !string.IsNullOrEmpty(settings.ProxyConfig.Password))
                {
                    NetworkCredential credential;
                    if (!string.IsNullOrEmpty(settings.ProxyConfig.Domain))
                    {
                        credential = new NetworkCredential(settings.ProxyConfig.UserName, settings.ProxyConfig.Password, settings.ProxyConfig.Domain);
                    }
                    else
                    {
                        credential = new NetworkCredential(settings.ProxyConfig.UserName, settings.ProxyConfig.Password);
                    }

                    HttpClientHandler.Proxy = new WebProxy(settings.ProxyConfig.ProxyAddress, false, null, credential);
                }
                else
                {
                    HttpClientHandler.Proxy = new WebProxy(settings.ProxyConfig.ProxyAddress);
                }
            }
            else
            {
                HttpClientHandler.UseProxy = false;
            }

            if (settings.RegistryConfig.RepeatRegistration.HasValue)
            {
                RepeatRegistrationInterval = settings.RegistryConfig.RepeatRegistration.Value;
            }
        }
        public static IResult <IAssetAdministrationShellDescriptor> RegisterAssetAdministrationShell(this IAssetAdministrationShellServiceProvider serviceProvider, RegistryClientSettings settings)
        {
            RegistryHttpClient registryHttpClient = new RegistryHttpClient(settings);

            if (registryHttpClient.Settings?.RegistryConfig?.RepeatRegistration != null)
            {
                registryHttpClient.RepeatRegistration(serviceProvider.ServiceDescriptor, new CancellationTokenSource());
            }

            IResult <IAssetAdministrationShellDescriptor> result = registryHttpClient.CreateAssetAdministrationShell(serviceProvider.ServiceDescriptor);

            return(result);
        }