幫忙做公司網(wǎng)站seo專員簡歷
ASP.NET Core 入門
跨平臺開源框架 B/S
類與方法
Console
部分稱為“類”。 類“擁有”方法;或者可以說方法存在于類中。
WriteLine()
部分稱為“方法”。
想要使用方法就要知道方法在哪里
——————————
執(zhí)行流
一次執(zhí)行一段
ASP.NET Core 是什么東西?.net框架嗎?
企業(yè)里面-把后端完善
1.配置Swagger
1.為生成的api追加注釋
Program.cs
builder.Services.AddSwaggerGen(option =>
{//xml文檔絕對路經(jīng)--讀取根據(jù)控制器api生成的Xml的文件 ?????var file = Path.Combine(AppContext.BaseDirectory,"BookReadWebApi.xml");//true顯示器層展示注釋option.IncludeXmlComments(file, true);//action排序option.OrderActionsBy(o => o.RelativePath);
});
配置讓swagger展示注釋
2.不同版本api的版本控制
0.創(chuàng)建版本枚舉文件夾
1.獲取api的名稱
builder.Services.AddSwaggerGen(option =>
{typeof(ApiVersions).GetEnumNames().ToList().ForEach(Version =>{//1.先獲取所有nameoption.SwaggerDoc(Version,new Microsoft.OpenApi.Models.OpenApiInfo() {Title = $"讀書平臺",Version = Version,Description = $"通用版本的CoreApi版本{Version}"});});......}
2.遍歷api
app.UseSwaggerUI(c =>
{foreach(string version in typeof(ApiVersions).GetEnumNames()){c.SwaggerEndpoint($"/swagger/{version}/swagger.json",$"閱讀平臺第{version} 版本");}
});
3.控制當(dāng)前api只在特定(V1)的版本中展示改接口
[ApiExplorerSettings(IgnoreApi =false,GroupName =nameof(Utility.SwaggerExt.ApiVersions.V1))]
靜態(tài)類里面的靜態(tài)方法的this成為擴展方法
可以將里面的方法調(diào)用改寫
CustomSwaggerExt.AddSwaggerExt(builder.Services);等效于
builder.Services.AddSwaggerExt();
這就是中間件的封裝?????不懂,不管
2.連接數(shù)據(jù)庫??
還沒學(xué)
3.中間件
將文件定義到該代理下面
app.Use(async (context, next) =>
{await next.Invoke();
});app.Run(async context =>
{await context.Response.WriteAsync("hello");
});
啟用靜態(tài)文件中間件:
一,可以通過打開瀏覽器查看該靜態(tài)文件里的內(nèi)容
1.根目錄下新建文件夾wwwroot->將圖片文件存儲到該地址下
2.Program.cs配置如下內(nèi)容
app.UseStaticFiles()//啟用靜態(tài)文件中間件
二,指定目錄:MyRouse文件夾作為指定目錄,RequestPath設(shè)置請求前綴
app.UseStaticFiles(new StaticFileOptions()
{FileProvider=new PhysicalFileProvider(Path.Combine(builder.Environment.ContentRootPath,"MyRouse")),RequestPath="/StaticFiles"//https://localhost:7035/StaticFiles/2.png(選擇性添加)
});
三,目錄瀏覽-中間件
在Program.cs配置如下內(nèi)容
var fileProvider = new PhysicalFileProvider(Path.Combine(builder.Environment.ContentRootPath, "MyRouse"));
var requestPath = "/MyRouse";
....
app.UseStaticFiles(new StaticFileOptions()
{FileProvider=new PhysicalFileProvider(Path.Combine(builder.Environment.ContentRootPath,"MyRouse")),RequestPath= requestPath
});app.UseDirectoryBrowser(new DirectoryBrowserOptions
{FileProvider=fileProvider,RequestPath= requestPath});
https重定向
現(xiàn)在都是默認(rèn)點擊就送
1.啟動兩個默認(rèn)地址,默認(rèn)啟動swagger文件,
"https": {"commandName": "Project","dotnetRunMessages": true,"launchBrowser": true,"launchUrl": "swagger","applicationUrl": "https://localhost:7035;http://localhost:5043","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}
但http地址是不安全的所以我們現(xiàn)在重定向
2.在Program.cs配置如下內(nèi)容
app.UseHsts();
app.UseHttpsRedirection();
Hsts是一種安全機制,在未來一段時間只使用https來訪問網(wǎng)站
讀取配置
ASP.NET Core 項目默認(rèn)配置文件:appsettings.json文件
//appsettings.json"msg": "yeye"
//Program.cs
app.MapGet("config", (IConfiguration configuration) =>
{return configuration["msg"] + '_' + configuration["Logging:LogLevel:befault"];
});
省略
開發(fā)環(huán)境
控制swagger僅僅在開發(fā)環(huán)境中展示,發(fā)布之后將不再展示
在Program.cs配置如下內(nèi)容
if (app.Environment.IsDevelopment())
{app.UseHsts();app.UseSwagger();app.UseSwaggerUI();
}
..app.Run();
4.more
日志
開發(fā)可以使用
app.Logger.LogInformation("程序已啟動");//本地自帶的
生產(chǎn)環(huán)境一般使用第三方的庫作為日志:
可以生成txt文件,可以將日志添加到數(shù)據(jù)庫里面,方便排查問題
需要注意的點:保存文件的名稱及存儲地址
//CfgFile/log4net.Config
<?xml version="1.0" encoding="utf-8"?>
<log4net><!-- 控制臺日志配置 --><appender name="Console" type="log4net.Appender.ConsoleAppender"><!-- 日志輸出格式 --><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" /></layout></appender><!-- 文件存儲日志配置 --><appender name="RollingFile" type="log4net.Appender.RollingFileAppender"><!-- 保存文件的名稱及存儲地址 --><file value="log4\log.log" /><!-- 追加內(nèi)容覆蓋 --><appendToFile value="true" /><!-- 文件的編碼方式 --><param name="Encoding" value="UTF-8"/><!-- 每個文件的大小 --><maximumFileSize value="100KB" /><!-- 保存文件數(shù)量 --><maxSizeRollBackups value="2" /><!-- 日志輸出格式 --><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%level %thread %logger - %message%newline" /></layout></appender><root><level value="ALL" /><appender-ref ref="Console" /><appender-ref ref="RollingFile" /></root>
</log4net>
0了,會生成log.log的日志文件
IIS安裝
1.控制面板
2.選擇程序
3.
4.
發(fā)布項目
默認(rèn)路經(jīng)
IIS運行
下載安裝:dotnet-hosting-7.0.14-win.exe(官網(wǎng)下載選擇Hosting Bundle進行下載安裝即可)