Я использовал простую службу Windows, чтобы заставить метод работать в определенное время, и он отлично работает. После этого я уже пробовал:Вызов веб-службы в службе Windows
protected override void OnStart(string[] args)
{
this.WriteToFile("Simple Service started {0}");
this.ScheduleService();
}
protected override void OnStop()
{
this.WriteToFile("Simple Service stopped {0}");
this.Schedular.Dispose();
}
private Timer Schedular;
public void ScheduleService()
{
try
{
Schedular = new Timer(new TimerCallback(SchedularCallback));
string mode = ConfigurationManager.AppSettings["Mode"].ToUpper();
this.WriteToFile("Simple Service Mode: " + mode + " {0}");
//Rest of the code here
}
catch(Exception ex)
{
WriteToFile("Simple Service Error on: {0} " + ex.Message + ex.StackTrace);
//Stop the Windows Service.
using (System.ServiceProcess.ServiceController serviceController = new System.ServiceProcess.ServiceController("SimpleService"))
{
serviceController.Stop();
}
}
}
Это делается в простом приложении для Windows. Поэтому я пытаюсь позвонить в веб-службу (конкретный метод для работы в определенное время) в службе Windows. Приложение, которое я создаю, основано на веб-интерфейсах и немного путано, как бы интегрировать в него службу Windows? Нужны ли мне какие-либо альтернативы, или любые предложения будут оценены.
Примечание: Что я хотел бы знать, требуется ли создать другой проект для службы Windows в веб-приложении или любым другим способом реализовать?
Да. Ваша служба Windows должна быть отдельным проектом. – PhillipH
Спасибо за ответ, и я думал об этом @PhillipH. Кстати, знаете ли вы или у вас есть полезный учебник или ссылка на него? –
См. Мой более полный ответ. – PhillipH