Как можно добавить сервисы в приложении и применять их в контроллерах?

  • 8 сентября 2023 г. 11:06
Ответы на вопрос 2
В ASP.NET 6 стиль конфигурации приложения изменился. Теперь файл Startup.cs больше не требуется, и конфигурацию можно делать прямо в файле Program.cs. Для добавления сервисов в приложение и их использования в контроллерах необходимо выполнить следующие шаги:

1. В методе CreateHostBuilder в файле Program.cs добавьте вызов метода ConfigureServices для конфигурации сервисов:

```csharp
var builder = WebApplication.CreateBuilder(args);

// Конфигурация сервисов
builder.Services.AddTransient<IMyService, MyService>();

// ...
```

2. В контроллере добавьте зависимость на интерфейс вашего сервиса:

```csharp
public class MyController : ControllerBase
{
    private readonly IMyService _myService;

    public MyController(IMyService myService)
    {
        _myService = myService;
    }

    // ...
}
```

3. Добавьте необходимые методы в интерфейс IMyService и реализуйте их в классе MyService:

```csharp
public interface IMyService
{
    void DoSomething();
}

public class MyService : IMyService
{
    public void DoSomething()
    {
        // Реализация метода
    }
}
```

Теперь вы сможете использовать ваш сервис _myService в контроллере MyController и вызывать его методы.
builder.Services.AddScoped();

В файле Program.cs регистрируется служба IService с реализацией ServiceImplementation в контейнере зависимостей.

После этого, через конструктор контроллера, можно получить экземпляр интерфейса IService.
Похожие вопросы