using Autofac; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.Hosting; using System.IO; namespace Wicture.DbRESTFul.PMT { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews().AddNewtonsoftJson(); services.AddDbRESTFul(); } public void ConfigureContainer(ContainerBuilder builder) { builder.RegisterDbRESTFul(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } if (!env.IsDevelopment()) app.UseExceptionHandler("/Home/Error"); else { app.UseDeveloperExceptionPage(); } app.UseStaticFiles(); app.UseCors(x => x.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()); var docPath = Path.Combine(env.ContentRootPath, "doc/"); if (!Directory.Exists(docPath)) Directory.CreateDirectory(docPath); app.UseFileServer(new FileServerOptions() { FileProvider = new PhysicalFileProvider(docPath), RequestPath = new PathString("/doc"), EnableDirectoryBrowsing = false }); app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); app.UseDbRESTFul(); } } }