есть один сценарий, в котором я должен назвать сайт с расписанием службы Windows, в определенное время. Мне нужно получить некоторые ресурсы HTML, а затем отправить его по электронной почте с помощью службы Windows.
Это сложнее, чем кажется. Компоненты, отображающие HTML на просматриваемой веб-странице, ожидают рабочего стола, которого нет в службе Windows.
Тогда вам все равно нужно отобразить HTML в PDF-файл, что является чем-то другим, что нет встроенной поддержки в .Net. Вам понадобится сторонняя библиотека, например GhostScript или одна из Adobe (не помните имя, но это дорого).
Когда вы делаете это с рабочего стола, Adobe Acrobat делает тяжелую работу, но это недоступно для службы, потому что Acrobat также требует рабочего стола.
Если вы можете найти способ визуализации HTML без рабочего стола или интерактивного сеанса, вы можете визуализировать HTML в PDF с помощью Ghostscript.Net и system.net.mail.
Если это действительно не должно быть услугой, это будет дневная работа в VB.Net или C#, однако, если вам действительно нужна ее служба Windows, это будет очень сложно.
Новой информация
Видимо PhantomJS может работать без головы и делает веб-страницы (см ссылка ниже)
Принимали ли вы посмотрите на классе HttpClient? вы можете сделать http-звонки на ваш сайт (который может вернуть разметку) из вашего кода службы Windows. – Shyju
Есть ли способ получить PDF из HTML, потому что мне нужно отправить электронное письмо с PDF. –
Может быть, проще сделать и отлаживать общее приложение, запущенное из Windows Scheduler? –