一、引子
写这个开源系列已经十来篇了。自从十年前注册博客园以来,关注了张善友、老赵、xiaotie、深蓝色右手等一众大牛,也围观了逗比的吉日嘎啦、精密顽石等形形色色的园友。然而整整十年一篇文章都没有写过,属于非常努力的在社区汲取营养的菜青虫一只,现在也算破茧而出了,虽然远没有得道化蝶的境界,也在写作过程中得到不少提升。我开源的这个项目也有我固有的不良代码风格:严重缺乏注释,一方面是懒,一方面因为是单兵作战,也未曾想过让别人理解自己的代码。如何用简洁明了的方式表达自己的思路,虽然烧脑,但得到了社区的初步认可,在激励我把这个系列坚持下去的同时,对下一步如何完善这个项目,思路也更加清晰了。
二、 为什么要移植到.NET Core
.NET Core是.NET Framework的新一代版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架。.NET Core遵循最宽松的开源协议,可以方便的移植到非微软平台,同时据说有相当出色的性能。这些已经足够吸引人了,对我这一工控狗而言,架构如果限定在Windows操作系统,有几个问题是难以解决但必须面对的:
实时性
Windows是非实时的操作系统;受限于操作系统,我的网关程序始终找不到高精度的定时器,对一些实时性要求很高的场合,例如高精度机床控制,就力不从心了,而如果网关能移植到实时系统,这个问题就能得到解决。
跨平台性
在一些诸如军工、机关、央企的场合都指定使用linux操作系统,如果不能跨平