怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  819 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读

webapi dotnet Program.cs 的封装

精简代码

  1. 拆分成两个部分RegisterServices(builder);ConfigureApplication(app);
  2. 或者使用代码块,大括号来进行拆分.
using HtmlTags;
using MediatR;
using Microsoft.AspNetCore.Builder;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
var builder = WebApplication.CreateBuilder(args);
RegisterServices(builder);
var app = builder.Build();
ConfigureApplication(app);
app.Run();
// 👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇
static void RegisterServices(WebApplicationBuilder builder)
{
var services = builder.Services;
services.AddDbContext<SchoolContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
// ......
}
// 👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇
static void ConfigureApplication(WebApplication app)
{
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// ......
}
app.UseStaticFiles();
// ......
}

完整代码

using ContosoUniversity.Data;
using ContosoUniversity.Infrastructure;
using ContosoUniversity.Infrastructure.Tags;
using FluentValidation;
using FluentValidation.AspNetCore;
using HtmlTags;
using MediatR;
using Microsoft.AspNetCore.Builder;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
var builder = WebApplication.CreateBuilder(args);
RegisterServices(builder);
var app = builder.Build();
ConfigureApplication(app);
app.Run();
static void RegisterServices(WebApplicationBuilder builder)
{
var services = builder.Services;
services.AddMiniProfiler().AddEntityFramework();
services.AddDbContext<SchoolContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
services.AddAutoMapper(typeof(Program));
services.AddMediatR(typeof(Program));
services.AddHtmlTags(new TagConventions());
services.AddRazorPages(opt =>
{
opt.Conventions.ConfigureFilter(new DbContextTransactionPageFilter());
opt.Conventions.ConfigureFilter(new ValidatorPageFilter());
});
services.AddFluentValidationAutoValidation();
services.AddFluentValidationClientsideAdapters();
services.AddValidatorsFromAssemblyContaining<Program>();
services.AddMvc(opt => opt.ModelBinderProviders.Insert(0, new EntityModelBinderProvider()));
}
static void ConfigureApplication(WebApplication app)
{
app.UseMiniProfiler();
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseAuthorization();
app.MapRazorPages();
}
posted on   超级无敌美少男战士  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示