码迷,mamicode.com
首页 > Web开发 > 详细

AspNetCore基础三

时间:2020-05-18 22:46:56      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:layout   etc   rgs   red   dev   site   base   code   第三方   

vs自带前端库引用工具使用

方便管理客户端引用文件

右键选中添加客户端库

技术图片

获取需要的库文件,添加指定文件

技术图片

vs会自动添加libman.json记录客户端库信息

文件捆绑与压缩(针对js和css)

减少请求次数 减小服务器压力

在Nuget添加对BuildBundlerMinifier的引用

新增bundleconfig.json文件进行相关配置

[
  {
    // 捆绑后文件保存路径及文件名
    "outputFileName": "wwwroot/css/sty.min.css",
    "inputFiles": [
      //需要捆绑的文件
      "wwwroot/site.css",
      "wwwroot/sty.css"
    ],
    "minify": {
      //是否压缩文件
      "enabled": false
    }
  }
]

项目生成后会自动生成sty.min.css文件

多环境

针对不同环境 做不同的处理

当前环境查看

launchSettings.json文件的ASPNETCORE_ENVIRONMENT属性

默认环境

  • env.IsStaging();//预览
  • env.IsDevelopment();//开发
  • env.IsProduction();//生产

自定义环境

  • env.IsEnvironment("Demo");

aspnetcore会优先匹配带环境名的类和方法

类级别约定

// Demo环境下会优先匹配该类,找不到该类才回去匹配Startup
public class StartupDemo
{
    ...
}
public class Startup
{
    ...
}

方法级别约定

// Demo环境下会优先执行此方法 而不是ConfigureServices
public void ConfigureDemoServices(IServiceCollection services)
{
    ...
}
// 没有找到对应环境方法才会执行此方法 
// Configure也是如此
public void ConfigureServices(IServiceCollection services)
{
    ...
}

日志的使用

aspnetcore自带的日志中间件不支持输出日志到文件,这里我们使用第三方的NLog

在NuGet添加对NLog、NLog.Web.AspNetCore的引用

启用NLog

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                //配置日志
                //webBuilder.ConfigureLogging(builder=>
                //{
                //});
                webBuilder.UseStartup<Startup>();
            }). UseNLog() ;
}

添加nlog.config配置文件,设置输出到文件的格式

这里仅是一种方式,可根据需求自行配置

<?xml version="1.0" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <targets>
    <target name="file" xsi:type="File"
        layout="${longdate} ${logger} ${message}${exception:format=ToString}"
        fileName="${basedir}/logs/logfile.txt"
        keepFileOpen="true"
        encoding="utf-8" />
  </targets>

  <rules>
    <logger name="*" minlevel="Debug" writeTo="file" />
  </rules>
</nlog>

在需要输出日志的地方使用NLog提供方法,输出指定级别的日志

应用部署

三种方式

  • 依赖框架的部署(FDD)
  • 独立部署(SCD)
  • 依赖框架的可执行文件(FDE)

AspNetCore基础三

标签:layout   etc   rgs   red   dev   site   base   code   第三方   

原文地址:https://www.cnblogs.com/hklol/p/12913070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!