ASP.NET DependencyInjection 开源项目教程

ASP.NET DependencyInjection 开源项目教程

DependencyInjection[Archived] Contains common DI abstractions that ASP.NET Core and Entity Framework Core use. Project moved to https://github.com/aspnet/Extensions项目地址:https://gitcode.com/gh_mirrors/de/DependencyInjection

1. 项目的目录结构及介绍

ASP.NET DependencyInjection 项目的目录结构如下:

/src
  /Microsoft.Extensions.DependencyInjection
    /DependencyInjection
      - ServiceCollection.cs
      - ServiceDescriptor.cs
      - ServiceProvider.cs
      - ...
  /Microsoft.Extensions.DependencyInjection.Abstractions
    /DependencyInjection
      - IServiceCollection.cs
      - IServiceProvider.cs
      - ...
/test
  /Microsoft.Extensions.DependencyInjection.Tests
    /DependencyInjection
      - ServiceCollectionTest.cs
      - ServiceProviderTest.cs
      - ...

目录结构介绍

  • /src:包含项目的源代码。

    • Microsoft.Extensions.DependencyInjection:核心实现代码。
      • DependencyInjection:包含服务集合、服务描述和服务提供者的实现。
    • Microsoft.Extensions.DependencyInjection.Abstractions:抽象接口和基类。
      • DependencyInjection:包含服务集合和服务提供者的接口。
  • /test:包含项目的单元测试代码。

    • Microsoft.Extensions.DependencyInjection.Tests:测试核心实现的代码。
      • DependencyInjection:包含服务集合和服务提供者的测试。

2. 项目的启动文件介绍

在 ASP.NET DependencyInjection 项目中,启动文件通常是 Program.csStartup.cs,具体取决于项目的类型和结构。以下是一个典型的 Program.cs 文件示例:

using Microsoft.Extensions.DependencyInjection;
using System;

namespace DependencyInjectionExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建服务集合
            var services = new ServiceCollection();

            // 注册服务
            services.AddSingleton<IMyService, MyService>();

            // 创建服务提供者
            var serviceProvider = services.BuildServiceProvider();

            // 获取服务实例
            var myService = serviceProvider.GetService<IMyService>();

            // 使用服务
            myService.DoWork();
        }
    }

    public interface IMyService
    {
        void DoWork();
    }

    public class MyService : IMyService
    {
        public void DoWork()
        {
            Console.WriteLine("Doing work...");
        }
    }
}

启动文件介绍

  • Program.cs:应用程序的入口点,负责创建服务集合、注册服务、创建服务提供者并获取服务实例。
  • ServiceCollection:用于注册服务的集合。
  • ServiceProvider:用于解析服务的提供者。

3. 项目的配置文件介绍

在 ASP.NET DependencyInjection 项目中,配置文件通常是 appsettings.json,用于存储应用程序的配置信息。以下是一个典型的 appsettings.json 文件示例:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

配置文件介绍

  • appsettings.json:包含应用程序的配置信息,如日志级别和允许的主机。
  • Logging:配置日志记录的级别。
  • AllowedHosts:配置允许访问应用程序的主机。

通过以上内容,您可以了解 ASP.NET DependencyInjection 项目的目录结构、启动文件和配置文件的基本信息。希望这些内容对您有所帮助。

DependencyInjection[Archived] Contains common DI abstractions that ASP.NET Core and Entity Framework Core use. Project moved to https://github.com/aspnet/Extensions项目地址:https://gitcode.com/gh_mirrors/de/DependencyInjection

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龚格成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值