在上一版本的基础上,进行了细化和关系调整,并考虑了Service在线升级,升级过程中,会同时存在两个不同版本的Service,这可以从CServiceTable和CkernelService间的关系看出来,升级过程中不会有任何消息的丢失,完全无缝升级,得益于双版本同时在线服务设计,当老版本Service处于停止服务状态过程中时,会将消息转交给新版本Service处理,但如仍需要老版本才能处理的消息,则它会继续处理。
使用CNullKernelService等类名含Null的,是为消除if判断。
对MOOON来说,Service在线升级,是件非常简单的事,架构轻松的支持了,特别是在进程模型,还支持强制卸载Service,这样当一个新版本的Service正常服务时,老版本总是可以卸载的。
<div class="quote"><span class="q"><b>夏冰软件</b>: 你的文章不错,我支持一下.....</span></div>多谢<img src="/image/face/3.gif" >