Omn*_*mni 8 c# state-machine stateless-state-machine
我最近一直在试验Stateless(C#中的HSM)(https://code.google.com/p/stateless/),而且我遇到了一些我不确定如何实现的东西.
假设我有以下状态:
开始.
连
读
完
我想要实现的是:当TCP连接(处于Connect状态)建立时,进入Read状态.或者,如果失败,则进入"完成"状态(它可能会返回"连接"状态并在超时后尝试新连接).
如何使用Stateless实现此自动推进功能,因为从状态内触发触发器会导致堆栈溢出异常?
干杯
鉴于我没有找到无状态的本机解决方案来做我所问的,我最终将.Fire(触发器)包装在一个任务中
Task.Start(() => _stateMachine.Fire(trigger));
Run Code Online (Sandbox Code Playgroud)
这样做意味着状态机不会按照说法自行前进,但它由外部源代替,解决了SO异常.
| 归档时间: |
|
| 查看次数: |
1685 次 |
| 最近记录: |