.NET Core 服务注册步骤总结

简介: .NET Core 服务注册步骤总结

总结一下 .NET Core 服务注册的步骤:

.NET Core Web Api 项目服务注册步骤:

  1. 创建一个接口,和实现类
    比如:IMyService, CnService
  2. 在 Program.cs 的 var app = builder.Build(); 语句之前加上:
var builder = WebApplication.CreateBuilder(args);
......
//注册服务
builder.Services.AddScoped<IMyService, CnService>(); 
var app = builder.Build();
......

3.在控制器的构造方法中以参数的方式将接口注入到控制器中:

private readonly IMyService _myService;
private readonly ILogger<WeatherForecastController> _logger;
// 自动创建 IMyService 和 ILogger 对象
public WeatherForecastController(ILogger<WeatherForecastController> logger, IMyService myService)
{
  _logger = logger;
  _myService = myService;
}

.NET Core Console 项目服务注册步骤:

  1. 创建一个接口,和实现类
    比如:IMyService, CnService
  2. 在 Program.cs 中创建 ServiceCollection 对象,然后使用 AddScoped / AddSingleton / AddTransient 等方法注入服务
using Microsoft.Extensions.DependencyInjection;
ServiceCollection services = new ServiceCollection();
services.AddTransient<IMyService, CnService>();

3.使用方式

1.在 Program.cs 文件中通过 GetRequiredService 获取对象,调用对象的方法

using (ServiceProvider sp = services.BuildServiceProvider())
{
  // 服务定位器模式
  // 通过 GetRequiredService 获取 IMyService 对象
  var ts1 = sp.GetRequiredService<IMyService>();
  var ts2 = sp.GetRequiredService<IMyService>();
  Console.WriteLine(Object.ReferenceEquals(ts1, ts2));
  ts1.Name = "tom";
  ts1.SayHi();
}

2.在其他类中使用,和 Web Api 一样,在类的构造方法中直接注入,如:

class Demo
{
  private readonly IMyService _myService;
  // 构造方法注入 IOptionsSnapshot
  public Demo(IMyService myService)
  {
    _myService = myService;
  }
  public void Test()
  {
    _myService.SayHi("Jacky")
  }
}


相关文章
|
6月前
|
SQL 数据库连接 数据库
你不知道ADo.Net中操作数据库的步骤【超详细整理】
你不知道ADo.Net中操作数据库的步骤【超详细整理】
|
24天前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
112 3
|
6月前
|
SQL 数据库连接 数据库
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
286 0
|
6月前
|
JSON JavaScript 前端开发
全面的.NET微信网页开发之JS-SDK使用步骤、配置信息和接口请求签名生成详解
全面的.NET微信网页开发之JS-SDK使用步骤、配置信息和接口请求签名生成详解
|
设计模式 程序员 开发工具
零基础程序员想要学好.Net,跟着这7个步骤学习就可以了
零基础程序员想要学好.Net,跟着这7个步骤学习就可以了
76 0
|
SQL 开发框架 .NET
ASP.NET 数据绑定详解 代码+步骤(下)
ASP.NET 数据绑定详解 代码+步骤
|
开发框架 .NET 数据库
ASP.NET 数据绑定详解 代码+步骤(上)
ASP.NET 数据绑定详解 代码+步骤
|
XML API 数据格式
三:.net core(.NET 6)给swagger添加文档注释详细步骤
提供swagger文档注释。0、先给api加上标题注释和返回值注释:
870 0
三:.net core(.NET 6)给swagger添加文档注释详细步骤
|
JSON 缓存 JavaScript
.NET微信网页开发之JS-SDK使用步骤和配置信息timestamp(时间戳),nonceStr(随机串),signature(签名),access_token(接口调用凭据)的生成获取详解
.NET微信网页开发之JS-SDK使用步骤和配置信息timestamp(时间戳),nonceStr(随机串),signature(签名),access_token(接口调用凭据)的生成获取详解
362 0
.NET微信网页开发之JS-SDK使用步骤和配置信息timestamp(时间戳),nonceStr(随机串),signature(签名),access_token(接口调用凭据)的生成获取详解