Я работаю на C # ASP.net и нуждаюсь в создании объекта в моей базе данных через асинхронный таймер.
Мой таймер:
private void OnTimedEvent(object source, ElapsedEventArgs e)
{
Response response = new Response(tweet.Id, 1128199274838282240);
_context.Add(response);
_context.SaveChanges();
}
Когда я это называю:
Timer timer = new System.Timers.Timer(60000);
timer.Elapsed += OnTimedEvent;
timer.Enabled = true;
и я даю контекст через конструктор, когда создаю свой класс из контроллера:
private readonly cardsagainsttwitterContext _context;
public GameManager(cardsagainsttwitterContext context)
{
_context = context;
}
И, конечно, я получаю эту ошибку, потому что контекст больше не существует:
- System.InvalidOperationException: 'Предпринята попытка использовать контекст во время его настройки. Экземпляр DbContext нельзя использовать внутри OnConfiguring, поскольку он все еще настраивается на этом этапе. Это может произойти, если вторая операция запускается в этом контексте до завершения предыдущей операции. Ни один из членов экземпляра не гарантированно является потокобезопасным. '
Итак, возможно это сделать или нет?
Спасибо за чтение!