C#.Net集成Bartender条码打印,VS调试运行可以打印,发布到IIS运行打印报错
问题原因:
问题出现在iis账户权限。
解决方法:
iis默认是用network service这个账户去执行一系列操作的,包括之前SDK中写到的,btEngine.Start();这句代码。
这就跟在web上执行打开excel或word文件是一样的。
network service账户默认是没有对bartender模板文件的读写权限的。
所以这里我们需要设置一下network service的权限。
控制面板》管理工具》组件服务》计算机》我的电脑》DCOM配置
找到以bartender单词开头的几个服务。
右击服务》属性》安全
全部改为自定义 并且这三项编辑里面添加账户,加入 network service账户,并给与其最大权限。
然后我们回到iis上,选择我们发布的网站》双击身份验证(在内容视图界面)
右键ASP.NET模拟》编辑》特定用户》设置》
填写administrator账户及密码(注意必须为administrator账户设置密码)
然后重新启动网站,本以为OK了,后来才知道要通过Web网页调取本地的Bartender打印程序。
无奈,将打印程序做成.net windows控件,将windows控件加载到ie网页(只有ie才支持)
然后通过网页嵌套windows控件,windows控件调取bartender打印程序的方式 进行条码打印。
在这期间,打印条码的电脑,还需要先将做好的windows控件注册。