一. 环境搭建
安装vs2019
vs下载地址: https://visualstudio.microsoft.com/zh-hans/vs/.
环境要求
1.Visual Studio2019 16.80版本
2…NET5运行时—发布部署
如果是2020年11月11日之后下载安装的时候,可以直接基于Visual Studio2019 16.80版本做开发;
二. 创建并启动项目
添加一个web应用
运行项目
- 可直接点击iis 运行即可
- 右键项目打开文件bin/Debug/net5.0
cmd进入命令行
在命令行中启动dll 这个文件 如下图所示
然后到浏览器中访问地址即可
注意:要把wwwroot文件复制进来否则样式无法显示
效果如图
三. 值传递
HomeContoller下的index方法代码如下:
public IActionResult Index()
{
base.ViewBag.name1 = "张三";
base.ViewData["name2"] = "李四";
base.TempData["name3"] = "王五";
object name4 = "赵六";
//通过Session传值
if(HttpContext.Session.GetString("name5") == null)
{
HttpContext.Session.SetString("name5", "田七");
}
return View(name4);
}
注意先引入
using Microsoft.AspNetCore.Http;
在.net5Core中Session 的使用必须先配置 如下图所示
home/index 代码如下:
@{
ViewData["Title"] = "Home Page";
}
@model System.String
@using Microsoft.AspNetCore.Http
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>
<h1>
@ViewBag.name1
</h1>
<h1>
@ViewData["name2"]
</h1>
<h1>
@TempData["name3"]
</h1>
<h1>
@Model
</h1>
<h1>
@Context.Session.GetString("name5")
</h1>
效果如图
四. _log4net组件的使用
首先下载两个扩展包如下图:
添加一个日志的配置文件
log4net.Config
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<!-- Define some output appenders -->
<appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
//文件生成路径
<file value="Customlog\log.txt" />
<!--追加日志内容-->
<appendToFile value="true" />
<!--防止多线程时不能写Log,官方说线程非安全-->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<!--可以为:Once|Size|Date|Composite-->
<!--Composite为Size和Date的组合-->
<rollingStyle value="Composite" />
<!--当备份文件时,为文件名加的后缀-->
<datePattern value="yyyyMMdd.TXT" />
<!--日志最大个数,都是最新的-->
<!--rollingStyle节点为Size时,只能有value个日志-->
<!--rollingStyle节点为Composite时,每天有value个日志-->
<maxSizeRollBackups value="20" />
<!--可用的单位:KB|MB|GB-->
<maximumFileSize value="3MB" />
<!--置为true,当前最新日志文件名永远为file节中的名字-->
<staticLogFileName value="true" />
<!--输出级别在INFO和ERROR之间的日志-->
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ALL" />
<param name="LevelMax" value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<priority value="ALL"/>
<level value="ALL"/>
<appender-ref ref="rollingAppender" />
</root>
</log4net>
然后在
Program.cs中配置使用:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(loggingBuilder =>
{
//配置 log4net配置文件读取
loggingBuilder.AddLog4Net("log4net.Config");
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
也可以在Startup.cs中配置使用
引入
using Microsoft.Extensions.Logging;
然后再到Configure方法中添加如下代码
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerfactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
//读取配置文件
loggerfactory.AddLog4Net("log4net.Config");
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseSession();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
最后使用_log4net
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
//构造函数中使用日志
_logger.LogWarning("HomeController构造函数调用中...");
}
再次启动项目
该目录下会生成配置文件中配置好路径文件
五. 项目的发布运行
1. 安装IIS管理器
选择完后再点击确定
等待安装
2. 添加网站并运行
首先发布项目
然后打开IIS管理器
添加一个网站
点击浏览网站
如果浏览器出现以下错误
HRESULT 代码0x80070005
错误消息:
应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x80070005
HRESULT 的说明
无法访问请求的页面,因为页面的相关配置数据无效。
原因是文件权限不够
解决方法之一
- 右键【属性】打开刚刚发布所在路径的文件夹
添加一个用户如图所示 输入IIS_IUSRS
点击添加
然后重新启动IIS管理器
如果还是报错:
HRESULT 代码0x8007000d
错误消息:
应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x8007000d
HRESULT 的说明
无法访问请求的页面,因为页面的相关配置数据无效。
原因是缺少 .NetCore 模块
官网下载地址:https://dotnet.microsoft.com/download/dotnet/3.1/runtime.
安装完成以后再次重启IIS管理器
点击浏览网站
界面就会成功正常显示了。