杭州睿弈科技有限公司
ASP.NET+CEFSharp的集成案例
- 起源
经过N个月的努力,以Asp.net为开发平台帮助客户开发并部署企业应用系统。
在进行试运行阶段之时,突然,客户提出一个需求:
甲:你们的系统怎么在浏览器中进去的?这样,没有一点企业形象,你看看还360、IE的,太Low了!这样不行滴,要在桌面上有个公司LOG的快捷键,这样才能体现企业光辉形象。
乙:哦,那我们做一个浏览器的快捷键,怎么样?
甲:不行的,那还是在浏览器中,还是LOW。
甲:你们这种是B/S、我们要的是C/S!
乙:……(狂吐)
甲、乙:……(N个回合沟通,讨论B/S、C/S的利弊)
结论:甲胜、乙输。做C/S。
- 对策
不可能重码代码,只能想变通之道。
乙问度娘:度娘啊,B/S转C/S的方案有没有?
度娘答:没有!这里有B/S转SB倒有,要不一试?
只能再找方案。(N时……)
乙准备上吊之时,119出场:CEFSharp
- 方案
做一个集成CEFSharp的WinForm程序,实现内嵌B/S。
效果:
B/S成果仍然保留,留住心血;
不依赖各种浏览器,可以在桌面上做快捷键,体现企业形象。
CEFSharp的解决之道与优势:
度娘:
CEFSharp支撑与JS相互调用;
另外我可以告诉你很多哦!
乙:滚,早干嘛去了……
- 意外收获
由于之前系统中需要用到多个ActiveX插件(例:单据插件、FastReport报表插件),因此,系统只能在IE浏览器中使用,无法使用Chrome浏览器,存在IE的各种性能问题,现在借助CEFSharp,则可以抛弃IE浏览器,采用Chrome内核,一方面:提升性能;另一方面:通过集成ActiveX,并且为后续可以做更多的扩展支撑。
- 成果展示
- 项目方案
- 桌面快捷键
- 系统界面
首页
业务页
调用单据插件ActiveX
(通过外部脚本控制,动态生成的单据插件)
报表设计页
报表预览页