asp.net - 如何在 ASP.NET 中获取网络打印机

标签 asp.net iis network-printers

我需要显示网络中安装的打印机。我使用下面的代码来显示打印机,但在本地它显示网络打印机,但是当托管在 IIS 中时,它不显示网络打印机。(仅显示本地打印机)。

代码-1:

     ApplicationPrinter printer = new ApplicationPrinter();
     ddlPrinters.DataSource = printer.InstalledPrinters();
     ddlPrinters.DataBind();
     ddlPrinters.SelectedItem.Text = printer.DefaultZebraPrinter();

代码-2:

    ddlPrinters.Items.Clear();

        try
        {
            // Use the ObjectQuery to get the list of configured printers
            ObjectQuery oquery =
                new ObjectQuery("SELECT * FROM Win32_Printer");

            ManagementObjectSearcher mosearcher =
                new ManagementObjectSearcher(oquery);

            ManagementObjectCollection moc = mosearcher.Get();

            foreach (ManagementObject mo in moc)
            {
                PropertyDataCollection pdc = mo.Properties;
                foreach (PropertyData pd in pdc)
                {
                    if ((bool)mo["Network"])
                    {
                        ddlPrinters.Items.Add(mo["Name"].ToString());
                        break;
                    }

                }
            }
        }
        catch (ManagementException ex)
        {
            string msgDesc = string.Empty;
            string script = string.Empty;
            msgDesc = ex.Message;
            script = "<script language=\"javascript\">alert('" + msgDesc + "'); </script>";
            ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "UserMessage", script, false);
        }

此处 if ((bool)mo["Network"]) 用于仅显示网络打印机。

有没有办法在 ASP.NET 中获取网络打印机?

最佳答案

将此行添加到 web.config 部分即可解决问题。提供的用户 ID 需要映射网络打印机。

<identity impersonate="true" userName="domain\user" password="password" />

关于asp.net - 如何在 ASP.NET 中获取网络打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989774/

相关文章:

c# - 我如何要求多个属性之一?

php - IIS7/PHP/Laravel 上的 PUT 和 DELETE

php - 在网络打印机上无人值守打印文档

snmp - 施乐工作中心、地址簿、snmp

java - 得到没有。纸杯打印前的页数

asp.net - .NET MVC 3 部署包缺少引用

javascript - 访问 jQuery 返回值

javascript - Jquery Click 事件在回发后不起作用

asp.net-mvc - 登录后如何通过 MVC 提供静态文件(我正在尝试向我的大型 MVC 项目添加一个 Angular 迷你 SPA)

.net - 64 位版本的 Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader 程序集