一、任务简介: 账号同步任务,同步的对象是数据库的账户信息和发布机的本地账户,它是一个后台的服务程序,监听一个端口,接收客户端的请求,处理来自客户端的四种命令:(1)扫描全表,同步账号;(2)添加指定的账号;(3)禁用指定的账号(4)生成BHO配置文件。其中命令(1)最为复杂,需要同时考虑数据库中的账号和本地的账号;所有的同步基础以数据库中的账号为准,如果数据库中有,但是本地没有,那就在本地自动新建账号;如果数据库没有,但是本地没有,那就将本地的账号禁用。具体的逻辑可参考代码。 二、核心代码剖析: (1)AccounsSyncService程序分析: n Config文件夹,配置文件 n AccountsSyncService.cs,账号同步的主程序: p 启动服务,开启一个线程,监听端口:StartService()、OnStart()、Listen() p 接收账号同步的命令,并执行账号同步的四种操作:AccounsSync() p 初始化数据库连接:InitializeTables() p 创建BHO页面密码填充的配置文件:CreateBhoLoginXml() (2)AccountManagement程序分析: n AccountManager.h、AccountManager.cpp:包括添加账号、删除账号、添加组、删除组、禁用账号、启用账号、修改密码等操作 (3)ServiceInstall程序分析:后台服务程序安装文件生成项目,可以将后台的服务程序自动生成可以双击安装的可执行文件“.msi”文件
|