一、.Net Core 依赖注入

  1. .net core3.1 之前的版本需要手动配置swagger。当前项目.net core5.0版本自动配置完成

  2. 跨域配置

    1.下载依赖包

    2.

              //跨域
              services.AddCors(options =>
              {
                  options.AddDefaultPolicy(c =>
                  {
                      //AllowAnyOrigin 来源 AllowAnyMethod 方法 AllowAnyHeader头部信息
                      c.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();

​ }); ​ });

3.使用跨域 在路由之后 授权之前

              //路由
              app.UseRouting();
              //使用跨域!!!!
              app.UseCors();
              //授权
              app.UseAuthorization();
  1. 迁移命令:

    1.add-migration inir

    2.update-database

  2. 不使用驼峰命名规范

    services.AddControllers().AddJsonOptions(options => options.JsonSerializerOptions.PropertyNamingPolicy = null);

  3. NLog配置

    安装nlog包

    2、在项目根部创建 nlog.config(全部小写)文件。

    3、使用实例

    <?xml version="1.0" encoding="utf-8" ?>
    <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        autoReload="true"
        internalLogLevel="Info"
        internalLogFile="c:\temp\internal-nlog-AspNetCore.txt">

    <!-- enable asp.net core layout renderers -->
    <extensions>
      <add assembly="NLog.Web.AspNetCore"/>
    </extensions>

    <!-- the targets to write to -->
    <targets>
      <!-- File Target for all log messages with basic details -->
      <target xsi:type="File" name="allfile" fileName="c:\temp\nlog-AspNetCore-all-${shortdate}.log"
              layout="${longdate}|${event-properties:item=EventId_Id:whenEmpty=0}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}" />

      <!-- File Target for own log messages with extra web details using some ASP.NET core renderers -->
      <target xsi:type="File" name="ownFile-web" fileName="c:\temp\nlog-AspNetCore-own-${shortdate}.log"
              layout="${longdate}|${event-properties:item=EventId_Id:whenEmpty=0}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}|${callsite}| body: ${aspnet-request-posted-body}" />

      <!--Console Target for hosting lifetime messages to improve Docker / Visual Studio startup detection -->
      <target xsi:type="Console" name="lifetimeConsole" layout="${level:truncate=4:lowercase=true}: ${logger}[0]${newline}     ${message}${exception:format=tostring}" />
    </targets>

    <!-- rules to map from logger name to target -->
    <rules>
      <!--All logs, including from Microsoft-->
      <logger name="*" minlevel="Trace" writeTo="allfile" />

      <!--Output hosting lifetime messages to console target for faster startup detection -->
      <logger name="Microsoft.Hosting.Lifetime" minlevel="Info" writeTo="lifetimeConsole, ownFile-web" final="true" />

      <!--Skip non-critical Microsoft logs and so log only own logs (BlackHole) -->
      <logger name="Microsoft.*" maxlevel="Info" final="true" />
      <logger name="System.Net.Http.*" maxlevel="Info" final="true" />
       
      <logger name="*" minlevel="Trace" writeTo="ownFile-web" />
    </rules>
    </nlog>

    4、更新程序.cs 对比原代码粘贴新代码

    using NLog.Web;
    namespace ASP.NET_Core_5_NLog_Example
    {
      public class Program
      {
          public static void Main(string[] args)
          {
              var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
           
          }

          public static IHostBuilder CreateHostBuilder(string[] args) =>
              Host.CreateDefaultBuilder(args)
                  .ConfigureWebHostDefaults(webBuilder =>
                  {
                      webBuilder.UseStartup<Startup>();
                  })
                  //!!!!!!复制以下
                  .ConfigureLogging(logging =>
                  {
                      logging.ClearProviders();
                      logging.SetMinimumLevel(LogLevel.Trace);
                  })
                  .UseNLog(); // NLog: Setup NLog for Dependency injection
      }
    }

    5、配置应用程序安装. json

    {
    "Logging": {
      "LogLevel": {
      ///修改Default 为 Trace
        "Default": "Trace",
        "Microsoft": "Warning",
        "Microsoft.Hosting.Lifetime": "Information"
      }
    },
    "AllowedHosts": "*"
    }

    6、 写日志 将 ILogger 注入控制器:

    using Microsoft.Extensions.Logging;

    public class HomeController : Controller
    {
      private readonly ILogger<HomeController> _logger;

      public HomeController(ILogger<HomeController> logger)
      {
          _logger = logger;

      }

      public IActionResult Index()
      {
          _logger.LogInformation("测试");
          return View();
       

二、EF Core

  1. .net core使用EF core如下

  2. 引用依赖包 using Microsoft.EntityFrameworkCore;

    当前类继承DBContext 创建上下文

    添加上下文

    连接数据库

.Net core 基础 创建及Nlog的更多相关文章

  1. ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

    一.前言 在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量 ...

  2. NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

    NET Core 实战:使用 NLog 将日志信息记录到 MongoDB https://www.cnblogs.com/danvic712/p/10226557.html ASP.NET Core ...

  3. 【SF】开源的.NET CORE 基础管理系统 - 安装篇

    [SF]开源的.NET CORE 基础管理系统 -系列导航 1.开发必备工具 IDE:VS2017 运行环境:netcoreapp1.1 数据库:SQL Server 2012+ 2.获取最新源代码 ...

  4. Core 2.0使用Nlog记录日志+Mysql

    一.先创建一个Core2.0的项目,并在NuGet中引入3个类库文件 MySql.Data.dll NLog.dll NLog.Web.AspNetCore.dll 二.创建一个nlog.config ...

  5. .net core +codefirst(.net core 基础入门,适合这方面的小白阅读) 【我们一起写框架】领域驱动设计的CodeFirst框架(一)—序篇

    .net core +codefirst(.net core 基础入门,适合这方面的小白阅读)   前言 .net core mvc和 .net mvc开发很相似,比如 视图-模型-控制器结构.所以. ...

  6. NET CORE 基础

    NET CORE 基础管理系统 [SF]开源的.NET CORE 基础管理系统 - 安装篇   [SF]开源的.NET CORE 基础管理系统 -系列导航 1.开发必备工具 IDE:VS2017 运行 ...

  7. EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真

    EF Core使用SQL调用返回其他类型的查询   假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法 ...

  8. ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 登录登出 上一章节我们总算完善了注册的功能,而且也添加了一个用户,现 ...

  9. ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新增用户 上一章节我们实现了一个注册表单,但也留了一些东西还没完成, ...

  10. ASP.NET Core 用户注册 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 用户注册 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 用户注册 上一章节我们终于迁移完了 Identity 的数据,也创建 ...

随机推荐

  1. TS不能将类型“any[]”分配给类型“never[]”

    一.问题 在处理接口返回的数据,赋值给store中的数组时,报类型错误 data:{ cateList: [] } const getCateList = async () => { const ...

  2. 洛谷 P3916 图的遍历

    题目链接 最容易想的思路:对于每一个点都进行dfs/bfs,时间复杂度为O(n*(n+m)),显然超时 可以使用类似记忆化的操作,一个点能到达的最大值是自己所有能达到的边的最大值,则可以递归来做 但有 ...

  3. drf-认证、权限、频率、过滤、排序、分页

    1.认证组件 1.1 局部认证 1.首先写两个接口,一个查询单个一个查询所有,我们利用视图扩展类和视图子类写在一个视图类上: views.py: from rest_framework.viewset ...

  4. 使用GetDIBits()获取Windows位图数据的标准用法,解决内存、堆栈报错问题

    获取图标的位图数据 分两次使用GetDIBits(),以便于正确设置缓存的大小 正确设置BITMAPINFO的大小,否则就会报堆栈溢出错误 ICONINFO info = { 0 }; GetIcon ...

  5. Sentinel熔断与限流

    1.简介 在线文档: https://sentinelguard.io/zh-cn/docs/system-adaptive-protection.html 功能: 流量控制 速率控制 熔断和限流 和 ...

  6. Archiver Appliance bug report(问题已解决,见文末)

    本来想发到EPICS mailist里问的,可是发了两次给弹回来,不方便的等不及了,就在这问吧,谁知道怎么解决麻烦一定指导一下. ########################## Hi ALL: ...

  7. Windows 10系统设置多用户同时远程登录教程 and rdpwrap下载 and Win10多用户同时远程桌面的另类解决方案---支持1809和1909和2004版本V2.0

    转载简书: Windows 10系统设置多用户同时远程登录教程 - 简书 (jianshu.com) 转载github: 发布 ·stascorp/rdpwrap ·GitHub 转载csdn: Wi ...

  8. PHP封装自定义函数function

    最近一直在看PHP教程,毕竟懂点PHP语言还是不错的选择,起初是准备制作一个三文件夹内关键词组合长尾关键词,然后用PHP做一个全站的动态聚合页面的一个PHP插件,不负有心人啊!已写好,稍晚整理会在资源 ...

  9. Linux提权之:利用capabilities提权

    Linux提权之:利用capabilities提权 目录 Linux提权之:利用capabilities提权 1 背景 2 Capabilities机制 3 线程与文件的capabilities 3. ...

  10. 全局视角看技术-Java多线程演进史

    作者:京东科技 文涛 全文较长共6468字,语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然. 前言 2022年09月22日,JDK ...