public DefaultSpaStaticFileProvider( IServiceProvider serviceProvider, SpaStaticFilesOptions options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (string.IsNullOrEmpty(options.RootPath)) { throw new ArgumentException($"The {nameof(options.RootPath)} property " + $"of {nameof(options)} cannot be null or empty."); } var env = serviceProvider.GetRequiredService<IWebHostEnvironment>(); var absoluteRootPath = Path.Combine( env.ContentRootPath, options.RootPath); // PhysicalFileProvider will throw if you pass a non-existent path, // but we don't want that scenario to be an error because for SPA // scenarios, it's better if non-existing directory just means we // don't serve any static files. if (Directory.Exists(absoluteRootPath)) { _fileProvider = new PhysicalFileProvider(absoluteRootPath); } }
public DefaultSpaStaticFileProvider( IServiceProvider serviceProvider, SpaStaticFilesOptions options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (string.IsNullOrEmpty(options.RootPath)) { throw new ArgumentException($"The {nameof(options.RootPath)} property " + $"of {nameof(options)} cannot be null or empty."); } _serviceProvider = serviceProvider; _options = options; _fileProviderStore = new Dictionary <string, IFileProvider>(); }