C#.Net集成Bartender条码打印,VS调试运行可以打印,发布到IIS运行打印报错

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控件注册。