예제 #1
0
        public ModuleAssemblyDownloader(HttpClient httpClient, IModulePrefixLookup modulePrefixLookup)
        {
            if (httpClient == null)
            {
                throw new ArgumentNullException(nameof(httpClient));
            }

            if (modulePrefixLookup == null)
            {
                throw new ArgumentNullException(nameof(modulePrefixLookup));
            }

            _httpClient         = httpClient;
            _modulePrefixLookup = modulePrefixLookup;
        }
        public ModuleManifestProvider(IModulePrefixLookup modulePrefixLookup, IRemoteMessageDispatcher messageDispatcher, ILogger <ModuleManifestProvider> logger = null)
        {
            if (modulePrefixLookup == null)
            {
                throw new ArgumentNullException(nameof(modulePrefixLookup));
            }

            if (messageDispatcher == null)
            {
                throw new ArgumentNullException(nameof(messageDispatcher));
            }

            _modulePrefixLookup = modulePrefixLookup;
            _messageDispatcher  = messageDispatcher;
            _logger             = logger;

            _manifestCache = new ConcurrentDictionary <ModuleIdentifier, BlazorModuleManifest>();
        }