Restructures application startup and configuration
Migrates from standalone Program.cs to Startup-based configuration Adds application configuration JSON for environment-specific settings Integrates Autofac dependency injection and modular service registration Configures application services, modules, and middleware for enhanced flexibility
This commit is contained in:
parent
7fc1ae0650
commit
cd092f8290
4 changed files with 129 additions and 45 deletions
|
|
@ -1,47 +1,14 @@
|
|||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.AspNetCore.Mvc.Razor;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using PlanTempus.Application.Features.Localization.Services;
|
||||
using PlanTempus.Application.Features.Menu.Services;
|
||||
using Autofac.Extensions.DependencyInjection;
|
||||
using PlanTempus.Application;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
var host = Host.CreateDefaultBuilder(args)
|
||||
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
|
||||
.ConfigureWebHostDefaults(webHostBuilder =>
|
||||
{
|
||||
webHostBuilder
|
||||
.UseContentRoot(Directory.GetCurrentDirectory())
|
||||
.UseStartup<Startup>();
|
||||
})
|
||||
.Build();
|
||||
|
||||
// Add Razor Pages with feature-based structure
|
||||
builder.Services.AddRazorPages(options =>
|
||||
{
|
||||
options.RootDirectory = "/Features";
|
||||
})
|
||||
.AddRazorOptions(options =>
|
||||
{
|
||||
// View locations for partials and ViewComponents
|
||||
options.ViewLocationFormats.Add("/Features/_Shared/Pages/{0}.cshtml");
|
||||
options.ViewLocationFormats.Add("/Features/_Shared/Components/{1}/{0}.cshtml");
|
||||
|
||||
});
|
||||
|
||||
// Register application services
|
||||
builder.Services.AddScoped<IMenuService, MockMenuService>();
|
||||
builder.Services.AddScoped<ILocalizationService, JsonLocalizationService>();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Developer exception page for debugging
|
||||
if (app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseDeveloperExceptionPage();
|
||||
}
|
||||
|
||||
// Serve static files from wwwroot
|
||||
app.UseStaticFiles();
|
||||
|
||||
// Configure routing
|
||||
app.UseRouting();
|
||||
|
||||
// Map Razor Pages
|
||||
app.MapRazorPages();
|
||||
|
||||
app.Run("http://localhost:8000");
|
||||
|
||||
// Note: Set ASPNETCORE_ENVIRONMENT=Development for detailed error pages
|
||||
host.Run();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue