Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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# 通过Windows服务调用网站资源_C#_Asp.net Mvc_Windows Services - Fatal编程技术网

C# 通过Windows服务调用网站资源

C# 通过Windows服务调用网站资源,c#,asp.net-mvc,windows-services,C#,Asp.net Mvc,Windows Services,我有一个场景,在这个场景中,我必须在特定时间从Windows服务计划中调用该网站。我需要获得一些HTML资源,然后使用Windows服务将其发送到电子邮件。他们是否有可能通过windows服务调用web资源?我对.NET框架中的任何实现都持开放态度 问候 有一个场景,我必须在特定时间从Windows服务计划中调用该网站。我需要获得一些HTML资源,然后使用Windows服务将其发送到电子邮件 这比听起来更难。将HTML呈现为可视网页的组件都需要桌面,而Windows服务没有桌面 然后,您仍然需要

我有一个场景,在这个场景中,我必须在特定时间从Windows服务计划中调用该网站。我需要获得一些HTML资源,然后使用Windows服务将其发送到电子邮件。他们是否有可能通过windows服务调用web资源?我对.NET框架中的任何实现都持开放态度

问候

有一个场景,我必须在特定时间从Windows服务计划中调用该网站。我需要获得一些HTML资源,然后使用Windows服务将其发送到电子邮件

这比听起来更难。将HTML呈现为可视网页的组件都需要桌面,而Windows服务没有桌面

然后,您仍然需要将HTML呈现为PDF格式,这是.Net中不支持的其他格式。你需要一个像GhostScript这样的第三方库,或者一个来自Adobe的库(不记得它的名字,但它很昂贵)

当你在桌面上做这件事时,AdobeAcrobat是在做繁重的工作,但这在服务中是不可用的,因为Acrobat也需要桌面

如果您可以找到一种无需桌面或交互式会话即可呈现HTML的方法,则可以使用Ghostscript.Net和system.Net.mail将HTML呈现为PDF格式

如果这实际上不需要成为一个服务,那么在VB.Net或C#中这将是一个下午的工作,但是如果你真的需要它成为一个Windows服务,这将是非常困难的

新信息

显然,PhantomJS可以无头运行并呈现网页(见下面的链接)

有一个场景,我必须在特定时间从Windows服务计划中调用该网站。我需要获得一些HTML资源,然后使用Windows服务将其发送到电子邮件

这比听起来更难。将HTML呈现为可视网页的组件都需要桌面,而Windows服务没有桌面

然后,您仍然需要将HTML呈现为PDF格式,这是.Net中不支持的其他格式。你需要一个像GhostScript这样的第三方库,或者一个来自Adobe的库(不记得它的名字,但它很昂贵)

当你在桌面上做这件事时,AdobeAcrobat是在做繁重的工作,但这在服务中是不可用的,因为Acrobat也需要桌面

如果您可以找到一种无需桌面或交互式会话即可呈现HTML的方法,则可以使用Ghostscript.Net和system.Net.mail将HTML呈现为PDF格式

如果这实际上不需要成为一个服务,那么在VB.Net或C#中这将是一个下午的工作,但是如果你真的需要它成为一个Windows服务,这将是非常困难的

新信息


显然,PhantomJS可以运行headless并呈现网页(见下面的链接)

您看过HttpClient类吗?您可以从windows服务代码对您的网站进行http调用(可以返回标记)。有没有办法从HTML获取PDF,因为我必须发送一封附有PDF的电子邮件。可能更容易制作和调试的是从windows计划程序运行的通用应用程序?您看过HttpClient类吗?您可以从windows服务代码对您的网站进行http调用(可以返回标记)。有没有办法从HTML获取PDF,因为我必须发送一封附有PDF的电子邮件。可能更容易制作和调试的是从windows Scheduler运行的通用应用程序?作者没有写道,“httml资源”有多复杂,ajaxified等。。。也许你是对的,但这取决于复杂性和方法。C#几乎没有像iTextI这样的pdf库,当时他正在解释一种替代方法,这种方法实际上可以工作,并且可以在合理的时间内编写。在Windows服务中呈现HTML将是一场噩梦。据我所知,没有Windows库可以这样做,因为它们都需要桌面会话。我也不相信iText是可以从.net服务调用的。考虑到这个问题的措辞,我有理由肯定作者不理解其中所涉及的内容。从计划任务调用的桌面应用程序将完全按照请求执行,只需要不到一天的工作。该服务可能永远不会执行要求的操作,因为呈现现代网页的真实图像需要当前浏览器,如Chrome、Firefox或IE,Windows服务无法调用这些浏览器。@PushfPopf实际上我需要每天安排电子邮件。这就是为什么我需要可以安排的windows服务。我不能使用windows应用程序,因为作为需求的一部分,没有来自用户的交互。我必须从包含HTML内容的服务生成PDF。任务调度程序可以运行桌面应用程序。唯一的“陷阱”是,如果需要用户输入,任务将挂起。HTML发展如此之快,我认为没有任何东西可以从服务中运行,将HTML呈现为任何可以放入PDF并提供用户期望的输出类型的东西。我在自动文档转换为PDF方面做了大量的工作,除了实际的浏览器之外,我从来没有发现任何能很好地处理HTML->PDF的东西。若你们发现了什么,请更新你们的帖子。作者并没有写,“httml资源”有多复杂,ajaxified等等。。。也许你是对的,但这取决于复杂性和方法。C#几乎没有像iTextI这样的pdf库,当时他正在解释一种替代方法,这种方法实际上可以工作,并且可以在合理的时间内编写。在Windows服务中呈现HTML将是一场噩梦。据我所知,没有Windows库可以这样做,因为它们都需要桌面会话。我也不相信iText是可以从.net服务调用的。考虑到这个问题的措辞,我有理由肯定作者不理解其中所涉及的内容。从计划任务调用的桌面应用程序将完全执行w