Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用winform或应用程序在客户端上打印_C#_Asp.net_Winforms_Wcf - Fatal编程技术网

C# 使用winform或应用程序在客户端上打印

C# 使用winform或应用程序在客户端上打印,c#,asp.net,winforms,wcf,C#,Asp.net,Winforms,Wcf,我已经开发了ASP.NET程序。问题是:我想在客户端选择打印机并打印它 我知道这几乎是不可能的,也许是ActiveX,但我对ActiveX了解不多,它只在IE下工作 所以我创建了一个变通方法。我创建了一个在PC客户端上运行的Winfrom,并通过WCF连接到我的ASP.NET 到目前为止,这一切都很好,但这一过程对客户来说很烦人。因为他必须在ASP.NET上工作以保存项目并运行Winform,然后单击它以从ASP.NET检索项目并打印它 现在我使用PULL方法,这意味着我的Winform从ASP

我已经开发了ASP.NET程序。问题是:我想在客户端选择打印机并打印它

我知道这几乎是不可能的,也许是ActiveX,但我对ActiveX了解不多,它只在IE下工作

所以我创建了一个变通方法。我创建了一个在PC客户端上运行的Winfrom,并通过WCF连接到我的ASP.NET

到目前为止,这一切都很好,但这一过程对客户来说很烦人。因为他必须在ASP.NET上工作以保存项目并运行Winform,然后单击它以从ASP.NET检索项目并打印它

现在我使用PULL方法,这意味着我的Winform从ASP.NET中提取数据。 我想知道我是否可以使用PUSH方法,这意味着ASP.NET将数据推送到Winform,客户端只需单击ASP.NET上的一个按钮。 或者如何使我的winform始终收听ASP.NET

顺便说一下,我想简化客户端,所以他只需单击一个按钮,而不是两个按钮

提前谢谢大家,, 在我看来,你可以:

  • 将WinForms应用程序重新制作为托管在客户端上运行的Windows服务中的WCF服务。这将使您的ASP.NET页面能够调用WCF服务并告诉它打印
  • 将web浏览器控件添加到WinForms应用程序中,并在单个应用程序中执行表单中的所有操作
  • 在ASP.NET服务器端生成要打印的信息,例如PDF,然后让用户正常打印。类似于@AdamKing

  • 为什么用户不能在浏览器中使用他们的打印按钮?我使用了,但它需要2个clic(1个clic保存项目和2个clic对话框打印)您能详细说明一下“成本2 clic”吗?花费时间,金钱,什么?对于用户而言,启动另一个应用程序要糟糕得多。为了钱,你不应该因为与本地打印对话框交互而被收费。我打算回答约书亚·德雷克的第三个建议。