我正在构建一个 ASP.NET 应用程序,它在其中打印一些带有条形码的标签,打印机将安装到本地 PC 中,并将在托管应用程序的服务器中共享。
所以我的问题与域名有关,因为安装打印机的域名与服务器所在的域名不同。我尝试从本地应用程序打印并且打印正确,但是当我尝试从 Web 打印时,显示以下错误:
RPC 服务器不可用
我认为这是一个安全问题,我试图取代运行应用程序的用户,但即便如此应用程序也无法正常工作。
我正在构建一个 ASP.NET 应用程序,它在其中打印一些带有条形码的标签,打印机将安装到本地 PC 中,并将在托管应用程序的服务器中共享。
所以我的问题与域名有关,因为安装打印机的域名与服务器所在的域名不同。我尝试从本地应用程序打印并且打印正确,但是当我尝试从 Web 打印时,显示以下错误:
RPC 服务器不可用
我认为这是一个安全问题,我试图取代运行应用程序的用户,但即便如此应用程序也无法正常工作。
首先,如果您正在打印,您真的不应该创建 Web 应用程序(或允许用户从页面本地打印条形码)。
如果您必须这样做,那么您需要确保在执行打印代码之前,您冒充一个有权打印条形码的域的用户。这段代码应该有帮助: -
using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
...
Print Code
...
}
Impersonator 类可以在这里找到:http: //www.codeproject.com/Articles/10090/A-small-C-Class-for-impersonating-a-User