Esempio n. 1
0
        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;
 }
Esempio n. 3
0
        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;
 }