一、.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. 《Terraform 101 从入门到实践》 第一章 Terraform初相识

    <Terraform 101 从入门到实践>这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看. 初闻不知Terraform, ...

  2. CentOS即将停止维护,拥抱阿里“龙蜥“(Anolis OS),VMware安装Anolis OS与介绍

    一.前言 大家在自己电脑来进行服务器的一些操作时,基本都是使用CentOS 7或者是CentOS 8,但是2021年底CentOS 8宣布停止了维护:CentOS 7 在2024年6月30日也会停止维 ...

  3. 带你动手做AI版的垃圾分类

    摘要:本案例将使用YOLOX模型,实现一个简单的垃圾分类应用. 本文分享自华为云社区<ModelBox社区案例 - 使用YOLOX做垃圾分类>,作者:HWCloudAI. 1 ModelB ...

  4. Vue29 自定义事件及消息总线

    1 简介 组件自定义事件是一种组件间的通信方式,方向是 子组件====>父组件. 使用场景:A是父组件,B是子组件,如果要把B的数据传给A,可以使用props加回调函数实现或者自定义事件实现. ...

  5. redis-04配置文件

    1.daemonize no # By default Redis does not run as a daemon. Use 'yes' if youneed it.# Note that Redi ...

  6. concurrent.futures之ThreadPoolExecutor python线程池代码实现方法

    from concurrent.futures import ThreadPoolExecutor def main(i): print(i) THREAD_NUM = 20 # 线程数 with T ...

  7. 断点调试/认证/权限/频率-源码分析/基于APIView编写分页/异常处理

    内容概要 断点调试 认证/权限/频率-源码分析 基于APIView编写分页 异常处理 断点调试 # 程序以 debug模式运行,可以在任意位置停下,查看当前情况下变量数据的变化情况 # pycharm ...

  8. Serverless Streaming:毫秒级流式大文件处理探秘

    摘要:本文将以图片处理的场景作为例子详细描述当前的问题以及华为云FunctionGraph函数工作流在面对该问题时采取的一系列实践. 文章作者|旧浪:华为云Serverless研发专家.平山:华为云中 ...

  9. 学习Java Day20

    类的导入的第一种方式就是使用完全限定名,就是包名后面跟着类名 java.time.LocalDate totay=java.time.LocalDate.now(); 另一种可以直接用import j ...

  10. 进程间通信 —— 管道(Interprocess Communications —— Pipes)

    进程间通信 -- 管道(Interprocess Communications -- Pipes) 管道分为匿名管道(anonymous pipes)和命名管道(named pipes.)两类, 其中 ...