在Windows服务模式下运行GUI应用程序
我正在编写一个作为 Windows服务运行的服务器,通过请求调用Firefox来生成网页的pdf快照. 我知道在服务模式下运行GUI程序是个坏主意,但我的程序的服务器性质限制了在用户模式下运行它.运行用户级“代理”也不是一种选择,因为在服务器运行的计算机上可能没有交互式用户登录. 在我的实验中,当服务在已登录的用户帐户下运行时,Firefox成功生成了pdf.显然它在其他情况下不起作用:对于未登录的本地系统和用户帐户.在LocalSystem下启用了“允许服务与桌面交互”选项,我可以看到Firefox启动时报告它无法找到打印机. 由于要求pdf服务器的打开用户会话运行是不切实际的,除了从虚拟机运行整个事件之外,还有其他解决方法吗? 更新:我认为问题不在于帐户权限,而是在服务模式下运行时FF正在等待的隐形模式对话框. 但是,当FF在LocalSystem帐户下运行时,它仍然无法创建pdf. FF说它找不到打印机,我想知道这是否是可以某种方式启用的权限? 解决方法您可能想要尝试一种不同的方法,在项目中包含一些.NET PDF库( PDFsharp是一个很好的,开源的,选择),而不是将其与WebBrowser控件结合使用,您还需要在项目中包含它渲染PDF.如果您尝试这样做,请不要忘记使用STAThread属性. (编辑:天津站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |