当前位置:首页 > 个人杂谈 > 正文内容

修改了bartender的打印程序

作者: 葛屹肃 | 日期: 2022-05-30 | 分类: 个人杂谈

最近,常被客户投诉,反馈是bartender的打印程序经常出现异常,有时半夜出现异常,还需要IT重启程序才能解决。

这是老问题了,从项目开始上线时,就一直存在,尝试过很多方法,依然不能解决。

以往出现异常情况并不频繁,可能是1、2月才出现1次,而最近有点反常了,有时1周2、3次,甚至1天2次,出现太频繁了,客户那边的IT服务器负责人也是受不了,几次半夜被叫醒重启程序。

最让人看不懂就是,程序没有修改,有时很正常,而有时叔叔出现异常,让人难以捉摸。

查看错误日志,以下这个错误占了90%以上,从日志分析,感觉是关闭标签模板时发生的错误,标签模板都是直接连接数据库,会否是连接数据库超时引起的。

出现应用程序未处理的异常:2022-5-10 23:39:56
异常类型:COMException
异常消息:Exception from HRESULT: 0×80040200
异常信息:   at BarTender.FormatClass.Close(BtSaveOptions SaveChanges)
at Seagull.BarTender.Print.Documents.CloseBtFormat(Format btFormat, LabelFormatDocument doc, SaveOptions saveOptions)
at Seagull.BarTender.Print.LabelFormatDocument.Close(SaveOptions saveOptions)
at Bartender标签打印.Form1.StartProcess()
at Bartender标签打印.Form1.timer1_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

事已至此,只能死马当活马医,晚上花了几个小时检查了代码,凡是觉得有可能出现异常的地方,都进行修改。改动比较大的是,将标签模板文件的对象定义为局部变量,利用C#局部变量自动释放栈空间功能,看有没有效果。

只能尽人事,听天命了,一切看明天测试效果吧。

版权声明:本文由〖葛屹肃〗发布,转载请注明出处!
文章链接:https://www.geyisu.com/2596.html

  • 评论:(0)

已有 0 位网友发表了一针见血的评论,你还等什么?

◎欢迎大家参与讨论