public RegistryHttpClient(RegistryClientSettings registryClientSettings = null) { Settings = registryClientSettings ?? RegistryClientSettings.LoadSettings(); LoadSettings(Settings); JsonSerializerSettings = new JsonStandardSettings(); }
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); }