改用Signal信号调度模式

StrangeIoc默认使用的是Event的方式,所以我们要重新绑定一下使用Signal的方式。在MVCSContext下,重写

public override IContext Start()
{
    base.Start();
    //程序"起点"的修改,使用StartSignal信号来触发
    StartSignal startSignal = (StartSignal)injectionBinder.GetInstance<StartSignal>();
    startSignal.Dispatch();
    return this;
}

protected override void addCoreComponents()
{
    base.addCoreComponents();

    //先解绑,再重新绑定到SignalCommandBinder
    injectionBinder.Unbind<ICommandBinder>();
    injectionBinder.Bind<ICommandBinder>().To<SignalCommandBinder>().ToSingleton();
}

protected override void mapBindings()
{
    //和以前一样绑定,不过Event的枚举变成了刚刚触发的StartSignal
    commandBinder.Bind<StartSignal>().To<StartCommand>();
}



首页 我的博客
粤ICP备17103704号