C# IIS 7打印不工作
我正在尝试打印一个文档,该文档在我的Visual studio 2010应用程序中运行良好,但当我在IIS 7上发布我的项目时,打印不起作用,我在事件查看器中看不到任何错误C# IIS 7打印不工作,c#,asp.net,asp.net-mvc,iis,printing,C#,Asp.net,Asp.net Mvc,Iis,Printing,我正在尝试打印一个文档,该文档在我的Visual studio 2010应用程序中运行良好,但当我在IIS 7上发布我的项目时,打印不起作用,我在事件查看器中看不到任何错误 MyProcess = new Process(); MyProcess.StartInfo.CreateNoWindow = false; MyProcess.StartInfo.Verb = "print"; MyProcess.StartInfo.FileName = destinationPath; MyProces
MyProcess = new Process();
MyProcess.StartInfo.CreateNoWindow = false;
MyProcess.StartInfo.Verb = "print";
MyProcess.StartInfo.FileName = destinationPath;
MyProcess.Start();
MyProcess.WaitForExit(10000);
MyProcess.Close();
当您在VisualStudio中运行时,您是作为登录的交互式用户运行的 当你在IIS中运行时,你不是上述任何一种
通常在web应用程序中执行此操作的方式是:
当您在VisualStudio中运行时,您是作为登录的交互式用户运行的 当你在IIS中运行时,你不是上述任何一种
通常在web应用程序中执行此操作的方式是:
如果还有人想知道答案。。 我也遇到了同样的问题,解决方案是让IIS用户能够使用计算机上安装的打印机。从IIS打印时,您是以系统默认用户身份登录的,默认情况下,该用户在注册表中没有正确的打印机访问设置。您需要通过在注册表中添加几个条目,将打印机访问权限授予默认系统用户。像我一样遵循本教程。
它会解决的 如果还有人想知道答案。。 我也遇到了同样的问题,解决方案是让IIS用户能够使用计算机上安装的打印机。从IIS打印时,您是以系统默认用户身份登录的,默认情况下,该用户在注册表中没有正确的打印机访问设置。您需要通过在注册表中添加几个条目,将打印机访问权限授予默认系统用户。像我一样遵循本教程。
它会解决的 如果服务器上没有安装打印机,则不会发生任何事情 如果您试图从ASP.NET代码打印到连接到客户端计算机的打印机上,那么它永远不会工作。服务器无法访问并使用客户端计算机上的任何资源
第二件重要的事情是在IIS应用程序池中将LoadUserProfile更改为true。如果服务器上没有安装打印机,则不会发生任何事情 如果您试图从ASP.NET代码打印到连接到客户端计算机的打印机上,那么它永远不会工作。服务器无法访问并使用客户端计算机上的任何资源
第二个也是最重要的一点是在IIS应用程序池中将LoadUserProfile更改为true。您希望将其打印到哪里?“默认打印机”?哪个用户的默认打印机?您希望在哪里打印?“默认打印机”?哪个用户的默认打印机?那么我应该怎么做?这取决于您要完成的任务。请回答我上面的评论(您希望它打印在哪里)?对于默认打印机,很抱歉我是新加入的。NET和登录用户的默认打印机没有“默认打印机”之类的东西。有一种说法是“给定用户的默认打印机”。您想打印到哪个用户的默认打印机?使用该网站的用户?那么我应该怎么做?这取决于您试图实现的目标。请回答我上面的评论(您希望它打印在哪里)?对于默认打印机,很抱歉我是新加入的。NET和登录用户的默认打印机没有“默认打印机”之类的东西。有一种说法是“给定用户的默认打印机”。您想打印到哪个用户的默认打印机?使用网站的用户?当然,现在您有一个安全问题,因为您允许来自Internet的用户访问您的打印机。事实上,根据您对打印机的访问方式,您可能已经授予了对打印机的访问权限。现在,您的身份验证不仅需要足够好地保护您的应用程序,还需要足够好地保护网络上的资源,如打印机。当然,现在您有一个安全问题,因为您允许来自Internet的用户访问您的打印机。事实上,根据您对打印机的访问方式,您可能已经授予了对打印机的访问权限。现在,您的身份验证不仅需要足够好地保护应用程序,还需要足够好地保护网络上的资源,如打印机。