是什么导致System.Drawing.Printing.PrinterSettings.InstalledPrinters抛出Win32Exception“RPC服务器不可用”?我有一个正在处理的应用程序,我允许用户在从应用程序打印表单时选择一台打印机用作打印机。我使用的是.NET2.0在设置屏幕中,我调用System.Drawing.Printing.PrinterSettings.InstalledPrinters来获取可用打印机的列表。在客户端的计算机上,该属性抛出异常:System.ComponentModel.Win32Exception:RPC服务器不可用客户端报告窗口显示其打印机为“就绪”,客户端可以从打印机打印测试页。但是,我无法在本地重现问题,而且我的想法已经用完了。有谁知道可能导致此问题的原因是什么?任何想法或方向都会有所帮助。谢谢如果可以打印,那很可能是安全问题。否则我会投票支持“后台处理程序服务”,但更有可能您的应用程序无权与后台处理程序服务通信......同样的事情发生在Windows7中。停止并启动服务中的打印后台处理程序,直到它再次发生。以下命令可以快速执行此操作:netstop"printspooler"netstart"printspooler"注意:以管理员身份运行命令提示符。我制作了一个批处理文件,因为它在开发过程中每天发生4-5次。RPC服务已关闭或Windows防火墙正在阻止它。我在使用PrinterSettings.InstalledPrinters时遇到了类似的问题,原因是该应用程序以“部分信任”权限运行。在VisualStudio中,转到项目属性安全并选择“这是一个完全信任的应用程序”。我不确定这是否对你有帮助,但它对我有用。这可能与网络打印机有关吗?RPC是RemoteProcedureCall,也许这是用来检测已安装的网络打印机?谷歌搜索出错后:InstalledPrinters使用WMI查找打印机。WMI依次使用RPC。让WMI返回您的类型的错误可能意味着以下内容:以及对您的问题有用的WMI资源。另一种可能是PrintSpooler服务已被设置为禁用。以上就是C#学习教程:System.Drawing.PrinterSettings.InstalledPrinters抛出Win32Exception"RPCserverisunavailable"的原因是什么?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
