Как вы и предполагали, служба Windows - хороший подход к этой проблеме.
Аналогично, вы можете написать консольное приложение и запустить его через запланированное задание в Windows.
Это зависит от того, как работает ваш бэкэнд и с чем вы больше всего знакомы.
Написание консольного приложения очень просто, но это, возможно, не лучший подход, так как вам нужно убедиться, что пользовательвойдите в систему, чтобы можно было запустить запланированное задание.
Служба немного сложнее в реализации, но имеет преимущества, связанные с правильной интеграцией в ОС.
В MSDN есть хорошее руководство понаписание сервиса на C #, и вам не обязательно нужен WCF: http://msdn.microsoft.com/en-us/library/aa984464(v=vs.71).aspx