Я создаю небольшой веб-интерфейс для работы в сочетании с дополнительными функциями, работающими в фоновом режиме.
В конкретном случае c у меня есть класс с именем TelegramBot:
public class TelegramBot
{
static ITelegramBotClient botClient;
private readonly BotManagerContext _botManagerContext;
public TelegramBot(BotManagerContext botManagerContext)
{
_botManagerContext = botManagerContext;
botClient = new TelegramBotClient("801541652:AAHSIyedyVzIVdRM3jbvKzMdtxmn7oYcvhg");
botClient.OnMessage += Bot_OnMessage;
botClient.StartReceiving();
}
Что я пытаюсь запустить вместе с веб-API. BotManagerContext - это DbContext, инициализированный в веб-интерфейсе. Я пытаюсь получить его с помощью внедрения зависимостей - поэтому я пытаюсь добавить класс TelegramBot в файл Startup.cs, чтобы он запускался как Singleton и мог получить dbcontext
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<BotManagerContext>(opt =>
opt.UseSqlite("Data Source=BotManager.db"));
services.AddControllers();
services.AddSingleton<TelegramBot>();
}
Вопрос - как мне это реализовать? используя интерфейс? Я довольно новичок в этом, и я не знаю, как это реализовать :) Спасибо