IIS 7 和 Windows Server 2008 上的 WCF 服务用户调用的 DLL 似乎没有默认打印机

发布于 2024-12-02 05:12:44 字数 473 浏览 0 评论 0原文

我有一个 WCF 服务,它包装了一些生成报告 PDF 的旧版 DLL。该遗留代码在桌面应用程序中运行良好,但当通过 WCF 服务调用时,PDF 页面大小由虚拟屏幕大小(页面大小纵横比变为 4:3)而不是实际纸张大小驱动。

我已在 HKEY_CURRENT_USER 下导出打印机的各种注册表项,并在 HKEY_USERS.DEFAULT 下重新导入它们,并且我已确保“每个人”都可以使用本地打印机。但 PDF 的结果仍然是错误的。

该站点在 Windows Server 2008 上的 IIS 7 中运行。该站点有自己的 32 个 AppPool,以专门创建的用户身份运行。该站点启用了匿名身份验证并禁用了 ASP.NET 模拟。

奇怪的是,如果我让 AppPool 作为我自己运行,则报告 PDF 的页面大小正确为 8.5 x 11。但当我将其设为专门创建的用途时,页面大小为 10.67 x 8.00 英寸(4:3 比例,例如 1024x768)。

我缺少什么?

I've got a WCF service that wraps some legacy DLLs that generate report PDFs. That legacy code works great in a desktop app, but when invoked via the WCF service, the PDF page size is driven by virtual screen size (the page size apsect ratio becomes 4:3) instead of an actual paper size.

I've exported the various registry keys for printers under my HKEY_CURRENT_USER and re-imported them under HKEY_USERS.DEFAULT, and I've made sure a local printer is available to "Everyone". Still the PDFs come out wrong.

The site is running in IIS 7 on Windows Server 2008. The site has its own 32-but AppPool, running as a specially created user. The site has Anonymous Authenticatione nabled and ASP.NET Impersonation disabled.

Oddly, if I make the AppPool run as myself, the report PDFs have a correct 8.5 x 11 in page size. But as soon as I make it the specially created used, the page size is 10.67 x 8.00 in (4:3 ratio, e.g. 1024x768).

What am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情深如许 2024-12-09 05:12:44

我不太熟悉 WCF 服务,但如果它们是真正的 Windows 服务,那么它们看不到默认打印机就不足为奇了。他们可能也看不到网络共享。只需在用户帐户而不是本地系统帐户下运行服务就可以解决问题。

I'm not real familiar with WCF services, but if they're true Windows services then it's not surprising they don't see the default printer. They probably can't see network shares either. Simply running your service under a user account rather than the local system account should solve the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文