Я пытаюсь запустить метод в своем классе контроллера, когда запускается моя служба верхнего уровня, и сейчас я нахожу, как это сделать. Я ищу и не могу найти ответ. Могу ли я вызвать метод моего класса контроллера при запуске службы напрямую или мне нужно сделать HttpClient и вызвать URL-адрес на localhost?
Код:
Program.cs:
HostFactory.Run(x =>
{
x.Service<OwinService>(s =>
{
s.ConstructUsing(() => new OwinService());
s.WhenStarted(service => service.Start());
s.WhenStopped(service => service.Stop());
});
x.RunAsLocalSystem();
x.StartAutomatically();
x.SetServiceName("Test Service");
x.SetDisplayName("Test Service");
x.SetDescription("Service that Imports / Exports to DB information");
x.EnableServiceRecovery(recoveryOption =>
{
recoveryOption.RestartService(0);
});
});
OwinService.cs:
public class OwinService
{
private IDisposable _webApp;
public void Start()
{
//_timer.Start();
_webApp = WebApp.Start<ApiConfiguration>("http://+:9000");
}
public void Stop()
{
//_timer.Stop();
_webApp.Dispose();
}
}
OutputController.cs
public class OutputController : ApiController
{
public void DoSomething() {};
}
Я хочу вызвать DoSomething () при запуске.