Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用IIS通过ASP.net打印到网络打印机_Asp.net_Vb.net_Iis_Printing - Fatal编程技术网

使用IIS通过ASP.net打印到网络打印机

使用IIS通过ASP.net打印到网络打印机,asp.net,vb.net,iis,printing,Asp.net,Vb.net,Iis,Printing,我有一个android应用程序,它通过IIS将信息发送到本地托管的ASP.net“服务器”。然后,该服务器尝试根据android应用程序提供的信息将标签打印到名为“\\My PC\DYMO LabelWriter 450”的打印机上。然后,我创建一个 System.Drawing.Printing.PrintDocument并将PrinterName属性设置为上述打印机名称。在调试时查看PrinterSettings时,我发现它有以下错误: 1. 'printDocument.PrinterSe

我有一个android应用程序,它通过IIS将信息发送到本地托管的ASP.net“服务器”。然后,该服务器尝试根据android应用程序提供的信息将标签打印到名为
“\\My PC\DYMO LabelWriter 450”
的打印机上。然后,我创建一个
System.Drawing.Printing.PrintDocument
并将
PrinterName
属性设置为上述打印机名称。在调试时查看PrinterSettings时,我发现它有以下错误:
1. <代码>'printDocument.PrinterSettings.IsPlotter'引发了类型为'System.Drawing.Printing.InvalidPrinterException'的异常。
2. <代码>'printDocument.PrinterSettings.SupportsColor'引发了类型为'System.Drawing.Printing.InvalidPrinterException'的异常。

我可以继续运行代码,但它会抛出一个错误,表明访问打印机“\\My PC\DYMO LabelWriter 450”的设置无效。“
出现
System.Drawing.Printing.InvalidPrinterException
错误

我正在使用:

  • .NET Framework 4.6.1

  • IIS(版本10.0.15063.0)

我要打印的代码如下:

Friend WithEvents printDocument As System.Drawing.Printing.PrintDocument
...
Public Sub print()
    Try
         printDocument.PrinterSettings.PrinterName = "\\My-PC\DYMO LabelWriter 450"
         printDocument.Print()
    End Try
End Sub
设置要在文档上打印的内容的代码位于其他位置,不相关

我已经被困在这个问题上两个星期了,我已经用尽了编程和在线搜索答案的能力。任何帮助都将不胜感激

编辑:

“我的电脑”=机器1

“GSC”=机器2

知道代码是通过机器2托管的可能很有用。我正在使用远程桌面通过我的机器(机器1)访问机器2。我正试图通过计算机2访问的打印机已连接到计算机1。虽然我已能够在两台计算机通过远程桌面连接时成功打印到计算机1的打印机,但当远程桌面连接断开时,这种情况将消失


例如:我可以将桌面远程连接到计算机GSC并打印到连接到My-PC的打印机上。但是,当我实际在GSC上时,我无法在我的代码中打印到电脑上的打印机。我已经在GSC上本地连接/安装了它,但它无法正常工作。

您的IIS应用程序池运行的用户/安全上下文是什么?它是否具有访问权限o打印机?@squillman我已尝试通过服务器计算机上有权访问打印机的帐户和也有权访问打印机的DefaultAppPool标识运行打印机。打印机可用于:所有人、所有应用程序包、帐户未知、创建者所有者、DefaultAppPool、用户和管理员。@MutedDisk这是我的错,它实际上在远程机器上被称为“我的电脑上的DYMO LabelWriter 450(副本1)”。我尝试使用多种不同的名称来尝试使打印过程正常工作,但迄今为止没有一种工作正常。因此,在阅读代码时,您可以将“\\my PC\DYMO LabelWriter 450”替换为“\\my PC\DYMO LabelWriter 450”在我的电脑上安装DYMO LabelWriter 450(副本1)“。两个名称产生相同的结果。@mutedisk我已经清理了问题,并提供了一个问题的示例以供澄清。@mutedisk已经这样设置了。我已经从GSC打印了多个测试页面。问题不是通过向导或提示框连接到它,而是在运行代码时通过ASP.net和IIS连接到打印的。您的IIS应用程序池运行的用户/安全上下文是什么?它有权访问打印机吗?@squillman我已尝试通过服务器计算机上有权访问打印机的帐户运行,并通过DefaultAppPool标识运行,该标识也有权访问打印机。打印机适用于:所有人、所有应用程序包、帐户未知、创建者所有者、DefaultAppPool、用户和管理员。@MutedDisk这是我的错,它实际上在远程计算机上被称为“DYMO LabelWriter 450(副本1)”。我曾尝试使用多种不同的名称,试图让打印过程正常工作,但迄今为止,没有一种方法有效。因此,在阅读代码时,您可以将“\\My PC\DYMO LabelWriter 450”替换为“我的PC上的DYMO LabelWriter 450(副本1)”。两个名称产生相同的结果。@MutedDisk我已经澄清了这个问题,并提供了一个问题的示例以供澄清。@MutedDisk已经这样设置了。我已经从GSC打印了多个测试页面。问题不是通过向导或提示框连接到它,而是在运行代码时通过ASP.net和IIS连接到打印的。