public void Watch(FeatureRuntimeCompilationOptions options) { var configFolderPath = Path.Combine(Directory.GetCurrentDirectory(), options.FeaturesPath); var watcher = new FileSystemWatcher() { Path = configFolderPath, NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.DirectoryName | NotifyFilters.FileName, IncludeSubdirectories = true, Filter = "*.cs" }; void changeEvent(object s, FileSystemEventArgs e) { _logger.LogInformation(e.ChangeType.ToString() + ": " + e.FullPath); var featurePath = Path.GetDirectoryName(e.FullPath); var metadata = _metadataProvider.GetMetadataFor(featurePath); _featureUpdater.Update(metadata); } watcher.Created += changeEvent; // Create file watcher.Changed += changeEvent; // Rename file, Save file, Rename x.aaa -> x.cs watcher.Deleted += changeEvent; // Delete file watcher.Renamed += changeEvent; // Delete file // Not triggering: Delete or renaming directory containing cs, cshtml watcher.EnableRaisingEvents = true; }
public FeatureRazorReferenceManager(ApplicationPartManager partManager, IOptions <MvcRazorRuntimeCompilationOptions> razorOptions, FeatureRuntimeCompilationOptions options, IHttpContextAccessor httpContextAccessor, ILogger <FeatureRazorReferenceManager> logger) : base(partManager, razorOptions) { _httpContextAccessor = httpContextAccessor; _logger = logger; _options = options; }
public FeatureFileProvider(IFeatureMetadataProvider metadataProvider, IFeatureChangeTokenProvider tokenProvider, FeatureRuntimeCompilationOptions options) { _metadataProvider = metadataProvider; _tokenProvider = tokenProvider; _options = options; _innerProvider = new PhysicalFileProvider(options.ProjectPath); }
public FeatureEndpointSelector(FeatureRuntimeCompilationOptions options, IFeatureMetadataProvider metadataProvider, IFeatureCache featureCache, ILogger <FeatureEndpointSelector> logger) { _options = options; _metadataProvider = metadataProvider; _featureCache = featureCache; _logger = logger; }
public FeatureMetadataProvider(FeatureRuntimeCompilationOptions options) { _options = options; }
public FeatureCompiler(RazorReferenceManager referenceManager, FeatureRuntimeCompilationOptions options) { _referenceManager = referenceManager; _options = options; }