我们如何将服务依赖注入到控制器C# Asp.net Core中?

我们如何将服务依赖注入到控制器c# asp.net core中?

ASP.NET Core通过构造函数或方法注入依赖类的对象通过使用内置的 IoC 容器。

内置容器由 IServiceProvider 实现表示默认支持构造函数注入。由内置 IoC 管理的类型(类)容器称为服务。

为了让IoC容器自动注入我们的应用服务,我们首先需要将它们注册到IoC容器。

示例

public interface ILog{   void info(string str);}class MyConsoleLogger : ILog{   public void info(string str){      Console.WriteLine(str);   }}

登录后复制

ASP.NET Core 允许我们向 IoC 容器注册我们的应用程序服务,在Startup类的ConfigureServices方法中。配置服务方法包含一个 IServiceCollection 类型的参数,用于注册应用程序services

在ConfigureServices()方法中向IoC容器注册ILog,如下所示。

public class Startup{   public void ConfigureServices(IServiceCollection services){      services.AddSingleton();   }}

登录后复制

IServiceCollection实例的Add()方法用于向IoC注册服务容器

我们已指定 ILog 作为服务类型,并指定 MyConsoleLogger 作为其实例这会将 ILog 服务注册为单例现在,IoC 容器将创建 MyConsoleLogger 类的单例对象,并无论我们将 ILog 作为构造函数包含在类的构造函数中,还是将其注入到类的构造函数中,整个应用程序的方法参数。

以上就是我们如何将服务依赖注入到控制器C# Asp.net Core中?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2429782.html

(0)
上一篇 2025年3月3日 07:54:16
下一篇 2025年2月28日 13:25:08

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • C# 中 ref 和 out 的区别

    在这篇文章中,我们将了解 C# 中“ref”和“out”之间的区别。 Ref 关键字 在将参数传递给 ‘ref’ 之前,需要对其进行初始化。 在返回之前不需要初始化参数的值到调用方法。 当使用’ref&#…

    2025年3月3日
    200
  • 如何在 C# 中不使用临时变量交换两个数字

    要交换两个数字,可以使用第三个变量,并执行算术运算符,而不使用临时变量。 设置两个变量进行交换 − val1 = 5;val2 = 10; 登录后复制 现在执行以下交换操作 – val1 = val1 + val2;val2 =…

    2025年3月3日
    200
  • 创建简单线程的 C# 程序

    为了创建线程,我创建了一个函数 – public void myThread() {   for (int i = 0; i 调用上面的函数来创建一个线程,并创建一个新的 ThreadStart 委托 -Demo d = new…

    2025年3月3日
    200
  • C# 中的双精度数组?

    C# 中的数组数组称为锯齿数组。要声明交错数组,请使用双精度 [ ][ ]。 现在让我们声明它们 – int [][] marks; 登录后复制 现在,让我们初始化它,其中标记是 5 个整数的数组 – int[][]…

    2025年3月3日
    200
  • 当 C# 中结果为空时 LINQ 返回什么?

    语言集成查询 (LINQ) 是一组基于将查询功能直接集成到 C# 语言中。 您可以使用 C# 为 SQL Server 数据库、XML 文档、ADO.NET数据集,以及任何支持IEnumerable或者的对象集合generic IEnume…

    2025年3月3日
    200
  • C# 中类的受保护成员变量的作用域是什么?

    受保护的访问说明符允许子类访问其基类的成员变量和成员函数。这样有助于实现继承。我们将在继承章节中更详细地讨论这一点。 下面是一个示例,显示我们在 A 类中设置了一个 protected 成员变量。 class A {   protected…

    2025年3月3日
    200
  • C# 中的内聚性

    C#中的内聚性显示了模块之间的关系。它显示了模块的功能强度。内聚性越高,程序设计就越好。 它是模块内部元素(如方法和内部模块)之间的依赖关系。高内聚力将允许您重用类和方法。 高内聚的示例可以在 System.Math 类中看到,即它具有数学…

    2025年3月3日
    200
  • 如何使用C# BinaryReader类?

    如果要从流中读取二进制信息,请使用 BinaryReader 类。 BinaryReader 类位于 System.IO 命名空间中。 以下是显示使用BinaryReader 类从文件中读取 – static void Writ…

    2025年3月3日
    200
  • C# 中根据键对 HashMap 进行排序

    HashMap 是 Java 语言,而不是 C# 语言。 C#中的HashMap相当于Dictionary,用作键值对的集合。 首先,设置Dictionary – Dictionary d = new Dictionary();…

    2025年3月3日
    200
  • C# 中的包

    作为 Java 中包的替代方案,C# 语言具有命名空间。 Java 中的包 Java 中使用包是为了防止命名冲突、控制访问、使类、接口、枚举和注释等的搜索/定位和使用更容易。 C# 中的命名空间 命名空间旨在提供一种保留一组名称的方法与另一…

    2025年3月3日
    200

发表回复

登录后才能评论