connected Services 服務(wù)依賴(第三方)
Properties 文件下 launchSettings.json 項目啟動配置文件
wwwroad 存放靜態(tài)文件
依賴項 管理Nuget程序包
appsettings.json 配置文件
一、 MVC含義
C 業(yè)務(wù)邏輯運算–調(diào)用其他的服務(wù)做業(yè)務(wù)邏輯
M 實體對象,保存數(shù)據(jù),數(shù)據(jù)傳輸
V 視圖,表現(xiàn)層
二、數(shù)據(jù)傳輸
1、控制器向視圖傳輸數(shù)據(jù)
//控制器中方法的代碼
public IActionResult Index()
{
ViewBag.User1 = "測試1";
ViewData["User2"] = "測試2";
TempData["User3"] = "測試3";
HttpContext.Session.SetString("User4", "測試4");
Object User5 = "測試5";
return View(User5);
}
// **使用 HttpContext.Session時需要在Program.cs類中注冊**
{
builder.Services.AddSession();//注冊session
}
app.UseSession();//new session
//視圖接收數(shù)據(jù)
<input value="@ViewBag.User1" />
<input value="@ViewData["User2"]" />
<input value="@TempData["User3"]" />
<input value="@Context.Session.GetString("User4")" />
<input value="@Model" /
三、日志組件Log4net
1、Nuget程序包引入
第一步:尋找log4net 程序包進行安裝;
第二步:新建文件夾Log4net,添加Log4net.config配置文件
Log4net.config 下載鏈接: link 提取碼:tply
第三步:Log4net.config設(shè)置為始終復(fù)制
第四步:在Program.cs中配置日志包
//配置日志包
{
//NuGet包引入2項
//1.Log4Net
//2.Microsoft.Extensions.Logging.Log4Net.AspNetCore
builder.Logging.AddLog4Net("Log4net/Log4net.config");//單獨的配置文件需要配置文件路徑,在項目下就不用配置
}
2、使用Log4net記錄文本日志
//注意日志存放地址
public class FirstController : Controller
{
//日志
private readonly ILogger<FirstController> _logger;
private readonly ILoggerFactory _logFactory;
public FirstController(ILogger<FirstController> logger ,ILoggerFactory loggerFactory) {
this._logger = logger;
this._logger.LogInformation($"{this.GetType().Name},具體日志記錄信息1");
this._logFactory = loggerFactory;
}
public IActionResult Index()
{
//日志
/* !--控制級別,由低到高:ALL | DEBUG | INFO | WARN | ERROR | FATAL | OFF
比如定義級別為INFO,則INFO級別向下的級別,比如DEBUG日志將不會被記錄
如果沒有定義LEVEL的值,則缺省為DEBUG-- > */
//第一種
this._logger.LogInformation($"{this.GetType().Name},具體日志記錄信息2");
//第二種
ILogger<FirstController> logger2=this._logFactory.CreateLogger<FirstController>();
logger2.LogInformation($"{this.GetType().Name},執(zhí)行記錄");
logger2.LogError($"{this.GetType().Name},Error信息");
logger2.LogDebug($"{this.GetType().Name},Debug信息");
}
}
3、如何把日志記錄到數(shù)據(jù)庫
1、項目引用 System.data.Sqlclient (數(shù)據(jù)庫不同引入不同);
2、在Log4net.config 的中添加appender 具體為寫入數(shù)據(jù)庫日志配置(注意數(shù)據(jù)庫用戶和密碼),還需在中增加appender
<log4net>
<!--Log4net日志寫入各數(shù)庫配置參考地址:https://logging.apache.org/log4net/release/config-examples.html -->
<!--寫入sqlserver庫日志配置-->
<appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
<bufferSize value="100" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[password]" />
<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
<parameter>
<parameterName value="@exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
</appender>
<root>
<!--寫入sqlserver庫日志配置-->
<appender-ref ref="AdoNetAppender_SqlServer" />
<level value="DEBUG" />
</root>
</log4net>
4、Log4net 日志級別配置
1、日志級別的日志調(diào)用
ILogger<FirstController> logger2=this._logFactory.CreateLogger<FirstController>();
logger2.LogInformation($"{this.GetType().Name},Info記錄普通日志");
logger2.LogDebug($"{this.GetType().Name},Debug記錄調(diào)試日志");
logger2.LogError($"{this.GetType().Name},Error記錄異常日志");
logger2.LogWarning($"{this.GetType().Name},Warn記錄警告日志");
logger2.LogTrace($"{this.GetType().Name},Trace記錄");
logger2.LogCritical($"{this.GetType().Name},Critical記錄嚴重日志");
2、Log4net 日志級別在Log4net.config中的配置
<root>
<!--Log4net日志級別配置-->
<!--控制器級別由低到高 ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
<!--當level value="ALL" 記錄所有日志-->
<!--當level value="OFF" 不會記錄任何日志-->
<!--當level value="FATAL" (FATAL非常嚴重的問題日志)只記錄FATAL日志-->
<!--當level value="ERROR" (ERROR異常日志)只記錄ERROR FATAL日志-->
<!--當level value="WARN" (WARN警告日志)只記錄WARN ERROR FATAL日志-->
<!--當level value="DEBUG"(DEBUG調(diào)試狀態(tài)) 只記錄DEBUG WARN ERROR FATAL日志-->
<!--當level value="INFO"(INFO普通日志) 只記錄INFO WARN ERROR FATAL日志-->
<level value="ALL" />
</root>
四、日志組件NLog
1、NLog程序包的引入
第一步:在Nuget找到程序包進行安裝(NLog.Web.AspNetCore)
第二步:新建log4net(什么名稱都行)文件夾,添加NLog.config配置文件
NLog.config配置文件 下載
提取碼:tply
第三步:設(shè)置NLog.config為始終復(fù)制
第四步:在Program.cs中配置日志包
#region NLog
{
//需要引入命名空間 using NLog.Web;
//Nuget:引入 NLog.Web.AspNetCore
builder.Logging.AddNLog("Log4net/NLog.config");//單獨的配置文件需要配置文件路徑,在項目下就不用配置
}
#endregion
2、怎么使用Nlog記錄日志
public class FirstController : Controller
{
//日志
private readonly ILogger<FirstController> _logger;
private readonly ILoggerFactory _logFactory;
public FirstController(ILogger<FirstController> logger ,ILoggerFactory loggerFactory) {
this._logger = logger;
this._logger.LogInformation($"{this.GetType().Name},具體日志記錄信息1");
this._logFactory = loggerFactory;
}
public IActionResult Index()
{
//日志
/* !--控制級別,由低到高:ALL | DEBUG | INFO | WARN | ERROR | FATAL | OFF
比如定義級別為INFO,則INFO級別向下的級別,比如DEBUG日志將不會被記錄
如果沒有定義LEVEL的值,則缺省為DEBUG-- > */
//第一種
this._logger.LogInformation($"{this.GetType().Name},具體日志記錄信息2");
//第二種
ILogger<FirstController> logger2=this._logFactory.CreateLogger<FirstController>();
logger2.LogInformation($"{this.GetType().Name},執(zhí)行記錄");
logger2.LogError($"{this.GetType().Name},Error信息");
logger2.LogDebug($"{this.GetType().Name},Debug信息");
}
}
3、怎么使用Nlog 將日志寫入數(shù)據(jù)庫
1、項目引用 System.data.Sqlclient (數(shù)據(jù)庫不同引入不同);
2、數(shù)據(jù)庫日志表結(jié)構(gòu)
INSERT INTO [SystemLogs](createDate, origin,logLevel,message,stackTrace)
VALUES(@createDate,@origin,@logLevel,@message,@stackTrace)
五、Asp.NetCore6項目多種啟動方式
1、腳本啟動
dotnet run
2、VS2022啟動
2.1 控制臺啟動
使用控制臺啟動,將在地址欄中彈出一個控制臺,項目將調(diào)用Properties→launchSettings.json中的配置端口
2.2 IIS Express
啟動時直接調(diào)動DLL文件,項目將調(diào)用Properties→launchSettings.json中的配置端口
六、IIS部署 .Net Core 程序
1 IIS安裝及配置
1.1 IIS安裝
打開啟用或關(guān)閉Windows功能,將Internet Information Services下面全部勾選安裝
1.2 依賴組件下載及配置
1.2.1 依賴組件下載
IIS 部署需要安裝ASP.NET Core Module v2 官網(wǎng)地址: 訪問
建議下載Windows 下的Hosting Bundle ( 網(wǎng)盤資源 提取碼:tply)進行安裝
1.2.2 配置AspNetCoreModuleV2
打開IIS 點擊根目錄,點擊 模塊 ,點擊配置模板,找到 AspNetCoreModuleV2 進行添加
2 部署.Net Core 應(yīng)用程序
2.1 項目的編譯
第一步:選中項目,點擊發(fā)布
第二步:有6種發(fā)布方式,這里選擇了文件夾的方式
第三步:點擊發(fā)布
2.2 IIS 發(fā)布項目
打開IIS,點擊添加網(wǎng)站,配置應(yīng)用程序地址及其他信息。
七、Liux 配置及程序部署
1 Liux環(huán)境配置
1、準備CentOS–或者Liux云服務(wù)器
2、準備文件傳輸工具:建議MobaXterm
3、保證Liux服務(wù)器可以直接訪問 (本地 ping)
4、安裝.net 6運行環(huán)境
//依次執(zhí)行命令
yum update
yum install net-tools
注冊鏡像地址
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
安裝ASP.NET Core SDK
sudo yum update
sudo yum install dotnet-sdk-6.0
關(guān)閉防火墻
systemctl disable firewalld
2 應(yīng)用程序部署到Liux環(huán)境
2.1 應(yīng)用程序的編譯
2.1.1 修改launchSettings.json配置文件中通過腳本啟動的路徑
2.1.2 程序發(fā)布
第一步 :VS選擇程序,點擊發(fā)布,發(fā)布方式選擇文件夾
第二步:將編譯后的文件通過MobaXterm工具直接拖到root目錄下
第三步:通過CD 命令進入程序文件目錄下
第四步:執(zhí)行dotnet *.dll --urls=http://192.168.1.1:7879 & 命令可以啟動( nohup dotnet *.dll --urls=http://192.168.1.1:7879 & 可以做到守護進程)文章來源:http://www.zghlxwxcb.cn/news/detail-629631.html
Asp.NET6練習資源: 百度網(wǎng)盤下載提取碼:tply文章來源地址http://www.zghlxwxcb.cn/news/detail-629631.html
到了這里,關(guān)于C# Asp.Net6 MVC,Log4net NLog 日志插件應(yīng)用 及Windows、Liux環(huán)境下程序發(fā)布的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!