Skip to content

快速上手

我们以ASP.NET Core Web API项目为例,讲述AsDI的应用

新建一个ASP.NET Core Web API项目

打开Visual Studio 2022 ,新建一个ASP.NET Core Web API项目 创建项目

引入AsDI框架

从Nuget下载

sh
dotnet add package AsDI.Core --version 2.0.0
dotnet add package AsDI.Core.Web --version 2.0.0

或者直接在NuGet包管理器中搜索“AsDI”安装相应版本的Package即可

启用AsDI

修改Program.cs文件,在Main函数中,启用AsDI

C#
using AsDI.Core.Web;

var builder = WebApplication.CreateBuilder(args);
//启用AsDI
builder.EnableAsDI();

也可以直接使用将原来的build方法替换

C#
using AsDI.Core.Web;
//原有Build()方法,替换成AsBuild()方法
//var app = builder.Build();
var app = builder.AsBuild();

AsDI实际应用

AsDI期望的开发模式是面向接口开发。

1、创建服务接口

服务接口定义服务提供的方法

C#
namespace WebApi.Services
{
    public interface IHelloService
    {
        string Say(string name);
    }
}

2、创建服务类

服务类实现服务接口,承载业务逻辑

C#
using AsDI.Attributes;

namespace WebApi.Services
{
    [Service]
    public class HelloService : IHelloService
    {
        public string Say(string name)
        {
            return "Hello " + name;
        }
    }
}

注意

[Service] 的标识是必须的

3、创建Controller并引用服务

Controller中调用服务,此时在Controller中不需要创建服务,只需要注入服务即可

C#
using Microsoft.AspNetCore.Mvc;
using WebApi.Services;

namespace WebApi.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class HelloController : ControllerBase
    {
        private readonly IHelloService helloService;

        public HelloController(IHelloService helloService)
        {
            this.helloService = helloService;
        }

        [HttpGet]
        public string Get()
        {
            return helloService.Say("World");
        }

    }
}

4、运行结果

运行结果

沪ICP备2025119739号