开发背景:马士基订舱系统(bst)需要开发carrierbooking信息通过报文(EDI)格式发送到EDI部门再发送给船公司去定舱.我们通过定义xml模版生成EDI发送给EDI部门,EDI部门把ACK/Confirm/PartiConfirm/Reject传到一个目录,而我们通过服务定时去扫描这个目录并读取里面的内容去更新我们的系统.
1)首先创建一个Windows应用程序(Moc.ImportService)
2)选中Moc.ImportService右键添加新项,选中并添加安装程序类(ProjectInstaller.cs)
3)选中Moc.ImportService右键添加新项,选中并添加安装程序类(EDIImportService.cs)
4)在ProjectInstaller.cs[设计]添加两个组件,serviceProcessInstaller1(System.ServiceProcess.ServiceProcessInstaller),serviceInstaller1(System.ServiceProcess.ServiceInstaller),在EDIImportService.cs[设计]添加组件timer1(System.Timers.Timer)并设置Interval=1000每一秒执行一次服务
5)在同一目录下添加Program.cs
上面的new EDIImportService()在下面的cs类中
读取文件类MocImport.cs