Контроллер Web API повторно создает единый сервис - PullRequest
0 голосов
/ 19 апреля 2019

Я работаю над веб-API в ASP.Net Core, используя внедрение зависимостей.Существует несколько сервисов синглетонов, которые запускаются при запуске.Когда я пытаюсь получить доступ к этим службам через API, они восстанавливаются (хотя они и являются одиночками).Поэтому я снова захожу в конструктор моей службы Singleton, вместо того чтобы использовать Singleton, уже установленный во время запуска.

Startup.cs

services.AddSingleton<IMySingleton, MySingleton>();

MyAPIController.cs

private readonly IMySingleton _mySingleton;

public MyController( IMySingleton mySingleton )
{
    this._mySingleton = mySingleton;
}

[Route("[action]")]
[HttpGet]
public bool MyMethod()
{
    try
    {
        _mySingleton.MethodOfSingleton();
        return true;
    }
    catch (Exception e)
    {
        return false;
    }
}

Как получить доступ к моему существующему синглтону из моего WebAPI вместо создания нового синглтона?

...