请在 timer_elapsed 事件中连接/使用 datacontext 对象的最佳方法是什么。我在 timer_elapsed 中有一个 datacontext 对象,它第一次运行完美,但在随后调用 timer_elapsed 事件时什么也不做。我知道每次调用线程池线程上的 elapsed 事件都会创建一个新实例。我如何控制这种行为或至少让我的代码始终如一地运行。谢谢。
这是我的结构图配置
ForRequestedType<BulkSMSDataContext>()
.TheDefaultIs(() => new BulkSMSDataContext())
.CacheBy(InstanceScope.Hybrid);
这是我的计时器实现
void _timerSendScheduledMessages_Elapsed(object sender, ElapsedEventArgs e)
{
DateTime currentUTC = DateTime.UtcNow.AddSeconds(-DateTime.UtcNow.Second).AddMilliseconds(-DateTime.UtcNow.Millisecond);
var msgToSend = from c in _messageRepository.GetMessages(MessageTypes.Scheduled)
where c.Time == currentUTC
select c;
foreach (var msg in msgToSend)
{
int scheduledMsgID = msg.MessageID;
Response res = _messageService.Send(msg);
_messageRepository.DeleteScheduledMessage(scheduledMsgID);
}
}