public void ConfigureServices(IServiceCollection services) { var fileProvider = new UpdateableFileProvider(); services.AddSingleton(fileProvider); services.AddMvc() .AddRazorRuntimeCompilation(options => options.FileProviders.Add(fileProvider)); }
public void ConfigureServices(IServiceCollection services) { var fileProvider = new UpdateableFileProvider(); // RuntimeCompilation supports a hosting startup that adds services before AddRazorPagesServices is invoked. This startup simulates // this configuration by simply putting the call to AddRazorRuntimeCompilation ahead of AddControllersWithViews / AddRazorPages. var mvcBuilder = new MockMvcBuilder { Services = services, }; mvcBuilder.AddRazorRuntimeCompilation(options => options.FileProviders.Add(fileProvider)); services.AddSingleton(fileProvider); services.AddControllersWithViews(); services.AddRazorPages(); }
public IActionResult UpdateRazorPages([FromServices] UpdateableFileProvider fileProvider) { fileProvider.CancelRazorPages(); return(Ok()); }
public IActionResult Update([FromServices] UpdateableFileProvider fileProvider, string path, string content) { fileProvider.UpdateContent(path, content); return(Ok()); }