gpt4 book ai didi

ASP.NET IIS 服务器端打印失败

转载 作者:行者123 更新时间:2023-12-04 23:22:16 24 4
gpt4 key购买 nike

我正在构建一个需要使用 PrintDocument 方法打印的 ASP.NET 应用程序:

PrintDocument.Print()

使用 IIS express 在开发环境中打印正常工作。发布到内网IIS服务器时,打印失败,我认为是aspnet工作进程权限问题造成的。

我尝试执行以下操作但没有成功:
  • 我在集成管道模式下为管理员本地用户创建了一个应用程序池,并将加载用户配置文件选项设置为 true
  • 我将应用程序移动到新创建的应用程序池
  • 我加了 <identity impersonate="true" username="username" password="*****"/>在 web.config 文件中
  • 出现一个错误,指出:检测到不适用于集成托管管道模式的 ASP.NET 设置,因此我添加了 <validation validateIntegratedModeConfiguration="false"/><system.webServer>部分。

  • 请问有什么帮助吗?

    最佳答案

    我认为您可能在这里误解了一些基本概念。当您使用 PrintDocument.Print()您正在服务器上打印。当您在 IIS 中部署您的应用程序时,此打印将在托管您的应用程序的服务器计算机上进行。您认为您的代码在 IIS Express 中工作的原因是因为您将应用程序托管在与测试它的客户端浏览器相同的计算机上。此外,您在配置了打印机的帐户下运行您的应用程序。

    您无法从 Web 应用程序直接打印到客户端计算机。那将是一个很大的安全问题。您能做的最好的事情是使用打印 media CSS type 提供一些 HTML 文档。 .然后,如果用户决定,他可能会在他的浏览器中打印它。

    另一方面,如果您想在连接到 Web 服务器的某些打印机上打印,则需要在 IIS 中配置应用程序池以在其配置文件中配置了打印机的身份下运行。

    关于ASP.NET IIS 服务器端打印失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20870316/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com