我有一个场景,在这个场景中,我必须在特定的时间从Windows Service schedule调用网站。我需要获取一些HTML资源,然后使用Windows服务将其发送到电子邮件。他们有没有可能通过windows服务调用web资源?我对.NET框架中的任何实现都持开放态度。
问候
发布于 2016-07-26 09:17:43
有一个场景,在这个场景中,我必须在特定时间从Windows Service schedule调用网站。我需要获取一些HTML资源,然后使用Windows服务将其发送到电子邮件。
这比听起来更难。将HTML呈现为可视网页的组件都需要桌面,这是Windows服务所没有的。
然后,您仍然需要将HTML呈现为PDF,这是.Net中没有原生支持的其他东西。你需要一个像GhostScript这样的第三方库,或者一个来自Adobe的库(不记得名字了,但它很贵)。
当你在桌面上做这件事时,Adobe Acrobat正在做繁重的工作,但这不能从服务中获得,因为Acrobat也需要桌面。
如果您能找到一种无需桌面或交互会话即可呈现超文本标记语言的方法,则可以使用Ghostscript.Net和system.net.mail将超文本标记语言呈现为PDF。
如果这实际上不需要是一个服务,它将是一个下午的工作在VB.Net或C#,但是如果你真的需要它是一个视窗服务,这将是非常困难的。
新信息
显然,PhantomJS可以运行无头并渲染网页(参见下面的链接)
https://stackoverflow.com/questions/38571744
复制相似问题