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