如何调用一个计时器任务新Ninject背景? 有一个很难配置ninject范围的UnitOfWork。 如果我设置为InRequestScope()不会在非请求任务。 所以我成立了类似下面这样我就可以得到InThreadScope的任务:
kernel.Bind<IUnitOfWork>().To<myEntities>().InScope(ctx => HttpContext.Current ?? StandardScopeCallbacks.Thread(ctx));
但这样一来,当我成立了一个计时器
Timer timer = new Timer(_ => DelayedDisconnect(chatUser.User.AuthorizationId), null, TimeSpan.FromSeconds(10), TimeSpan.FromMilliseconds(-1));
在的DbContext不与新的数据库值刷新。
public void DelayedDisconnect(string authorizationId)
{
var myChatUser = GetChatUserByClaimedIdentifier(authorizationId);
if (!myChatUser.ChatClients.Any()) // old state (doesn't reflect database changes from 10 seconds ago).
所以......如何调用新Ninject“背景”,以反映当前的状态/分贝值?