0


.Net 6 WebApi+Oracle+Dapper+Log4net

1、创建.Net WebApi

1、打开Visual Studio 2022,创建新项目

2、选择项目模板,ASP.NET Core Web API

3、项目命名

4、选择框架“.NET6.0”

5、新建成功

2、配置可视化在线测试Swagger

1、打开应用程序的入口文件Program.cs

2、注释自动生成代码,添加如下代码,设置Swagger

app.UseSwagger();
app.UseSwaggerUI(c =>
{
    c.RoutePrefix = String.Empty;
    c.SwaggerEndpoint("swagger/v1/swagger.json", "HS.CA V1"); //第二个参数可自定义命名
});

3、打开launchSettings.json文件,注释launchUrl节点

这样配置,发布到iis、直接在vs环境启动都可以使用swagger

3、注册Log4net日志系统

1、使用NuGet添加Log4net引用

2、按下图安装Log4net

3、启动文件Program.cs中注册Log4net服务

//注册Log4net
builder.Logging.AddLog4Net("log4net.config");

4、根目录下增加Log4net的配置文件log4net.config

5、替换log4net.config文件内容(文件在文章顶端下载)

4、安装Dapper(数据库访问组件)

1、使用NuGet添加Dapper引用

5、注册数据库访问服务

1、使用NuGet添加Oracle.ManagedDataAccess.Core引用

2、在appsettings.json文件中添加数据库连接字符串

  "ConnectionStrings": {
    "oracle": "data source=127.0.0.1/his;password=hsemr;user id=hsemr;Pooling = True;Max Pool Size = 500;Min Pool Size = 10;Connection Timeout=120"
  }

2、启动文件Program.cs中加载appsettings.json配置文件

//加载配置文件
IConfiguration _configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
                                                          .AddJsonFile("appsettings.json")
                                                          .Build();

3、注册数据库访问服务

//注册数据库访问服务
builder.Services.AddScoped<IDbConnection>((x) =>
{
    var connStr = _configuration.GetConnectionString("oracle");
    var conn = new Oracle.ManagedDataAccess.Client.OracleConnection(connStr);
    return conn;
});

6、访问数据库(使用日志、数据访问服务)

1、添加API控制器TestController

2、定义数据访问、日志对象,构造函数。

private readonly IDbConnection _dbConn;
private readonly ILogger<TestController> _logger;

public TestController(IDbConnection? dbConn, ILogger<TestController>? logger)
{
    _dbConn = dbConn;
    _logger = logger;
}

3、添加数据库访问方法,更复杂的数据库访问访问可以查看GitHub - DapperLib/Dapper: Dapper - a simple object mapper for .Net

7、测试

1、vs直接启动

2、iis浏览,IIS部署请看:发布.net6 WebApi项目到IIS会踩到的坑(500、404)-CSDN博客

3、运行结果

标签: .net asp.net 后端

本文转载自: https://blog.csdn.net/ts16dmy/article/details/135129800
版权归原作者 ts16dmy 所有, 如有侵权,请联系我们删除。

“.Net 6 WebApi+Oracle+Dapper+Log4net”的评论:

还没有评论