通过Windows服务调用网站资源

时间:2016-07-25 15:25:20

标签: c# asp.net-mvc windows-services

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

问候

1 个答案:

答案 0 :(得分:0)

  

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

这比听起来更难。将HTML呈现到可查看的网页中的组件都需要一个Windows服务所没有的桌面。

然后你仍然需要将HTML呈现为PDF,这是.Net中没有本机支持的其他内容。您需要第三方库,如GhostScript或Adobe中的一个(不记得名称,但价格昂贵)。

当您从桌面执行此操作时,Adobe Acrobat正在进行繁重的工作,但是服务无法提供,因为Acrobat也需要桌面。

如果您可以找到一种在没有桌面或交互式会话的情况下呈现HTML的方法,则可以使用Ghostscript.Net和system.net.mail将HTML呈现为PDF。

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

新信息

显然PhantomJS可以无头运行并渲染网页(参见下面的链接)