创建项目
- 打开
Visual Studio 2022
- 点击创建项目

- 选择
ASP.NET Core Web Application

项目文件说明
mvcone 项目名称,双击可以打开
- Properties 文件
- launchSettings.json 项目配置信息,只用于项目启动信息(既:只处理项目启动信息)
- wwwroot 前端静态文件
- appsettings.json 项目配置文件
- Program.cs 启动依赖注入文件
- mvcone 项目文件修改
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<!--<Nullable>enable</Nullable>-->
<!--修改为 disable ,实体部分不强添加?问号-->
<Nullable>disable</Nullable>
<!--添加发布语言-->
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>
- launchSettings.json 文件说明
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:39564",
"sslPort": 0
}
},
"profiles": {
"chid.api": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "http://localhost:5231",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
- appsettings.json 文件
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"JWTTokenOptions": {
"Audience": "http://localhost:5167",
"Issuer": "http://localhost:5167",
"SecurityKey": "MIGfMAOGCSqGSIb3DQEBAQUAA4GNAIMIGfMAOGCSqGSIb3DQEMIGfMAOGCSqGSIb3DQEBAQUAA4GNAIBAQUAA4GNAIMIGfMAOGCSqGSIb3DQEBAQUAA4GNAIMIGfMAOGCSqGSIb3DQEBAQUAA4GNAIMIGfMAOGCSqGSIb3DQEBAQUAA4GNAI"
},
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=数据库名称;Persist Security Info=false;User ID=postgres;Password=密码;TrustServerCertificate=false;Port=5432"
}
}
- Program.cs 文件
using Microsoft.Extensions.Options;
using WebAPI.Config;
var builder = WebApplication.CreateBuilder(args);
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Register();
builder.Services.AddCors(options => {
options.AddPolicy("CorsPolicy", opt => opt.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().WithExposedHeaders("X-Pagination"));
});
builder.Services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
config =>
{
config
.WithOrigins("*")
.AllowAnyHeader()
.AllowAnyMethod();
});
});
var app = builder.Build();
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = ctx =>
{
ctx.Context.Response.Headers.Append("Cache-Control", "public, max-age=31536000");
ctx.Context.Response.Headers.Append("Access-Control-Allow-Origin", "*");
}
});
var stringValue = builder.Configuration["Welcome"];
var objValue = builder.Configuration.GetSection("Welcome");
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseAuthorization();
app.MapControllers();
app.UseCors("CorsPolicy");
app.Run();
获取appsettings.json
中的某个信息
- 定义数据
appsettings.json
中
{
"Logging": {
...
},
"AllowedHosts": "*",
"Welcome": "hello world"
}
- 获取数据
Program.cs
中
var stringValue = builder.Configuration["Welcome"];
var objValue = builder.Configuration.GetSection("Welcome");
依赖注入方法Program.cs
中,也可以写扩展类
var builder = WebApplication.CreateBuilder(args);
#region 链接 Postgresql
builder.Services.AddDbContext<AppDbContext>(options => options.UseNpgsql(builder.Configuration.GetConnectionString("DefaultConnection")));
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
#endregion
builder.Services.AddTransient<IMenuType, IMenuTypeService>();
var app = builder.Build();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
...
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现