/// <summary>
        /// Initializes the ModelsRepositoryClient with custom client <paramref name="options"/> while pointing to
        /// a custom <paramref name="repositoryUri"/>.
        /// </summary>
        /// <param name="repositoryUri">
        /// The models repository Uri. This can be a remote endpoint or local directory.
        /// </param>
        /// <param name="options">
        /// ModelsRepositoryClientOptions to configure model dependency resolution and client behavior.
        /// </param>
        public ModelsRepositoryClient(Uri repositoryUri, ModelsRepositoryClientOptions options = default)
        {
            if (options == null)
            {
                options = new ModelsRepositoryClientOptions();
            }

            RepositoryUri      = repositoryUri;
            _clientOptions     = options;
            _clientDiagnostics = new ClientDiagnostics(options);
            _repositoryHandler = new RepositoryHandler(RepositoryUri, _clientDiagnostics, _clientOptions);
        }
示例#2
0
        public RepositoryHandler(Uri repositoryUri, ClientDiagnostics clientDiagnostics, ModelsRepositoryClientOptions options)
        {
            Argument.AssertNotNull(options, nameof(options));

            _clientOptions      = options;
            _clientDiagnostics  = clientDiagnostics;
            _modelFetcher       = repositoryUri.Scheme == ModelsRepositoryConstants.File
                ? _modelFetcher = new FileModelFetcher(_clientDiagnostics)
                : _modelFetcher = new HttpModelFetcher(_clientDiagnostics, _clientOptions);
            _clientId           = Guid.NewGuid();

            _repositoryUri = repositoryUri;

            ModelsRepositoryEventSource.Instance.InitFetcher(_clientId, repositoryUri.Scheme);
        }
 /// <summary>
 /// Initializes the ModelsRepositoryClient with custom client <paramref name="options"/> while pointing to
 /// the <see href="https://devicemodels.azure.com">Azure IoT Models Repository</see> service.
 /// </summary>
 /// <param name="options">
 /// ModelsRepositoryClientOptions to configure model dependency resolution and client behavior.
 /// </param>
 public ModelsRepositoryClient(ModelsRepositoryClientOptions options) :
     this(new Uri(ModelsRepositoryConstants.DefaultModelsRepository), options)
 {
 }
示例#4
0
 /// <summary>
 /// Initializes the ModelsRepositoryClient with custom client <paramref name="options"/> while pointing to
 /// the <see href="https://devicemodels.azure.com">Azure IoT Models Repository</see> service.
 /// </summary>
 /// <param name="options">
 /// ModelsRepositoryClientOptions to configure resolution and client behavior.
 /// </param>
 public ModelsRepositoryClient(ModelsRepositoryClientOptions options) : this(DefaultModelsRepository, options)
 {
 }