Во-первых, я заранее прошу прощения, если это дублирующий вопрос.
Я написал службу Windows (c # .net 4.7), которая создает соединение TcpClient с моей панелью сигнализации, прослушивает входящие данные, а затем перенаправляет данные на веб-сайт, к которому я подключаю другие службы. Для надежности я хочу перенести эту функцию на веб-сайт c # MVC, чтобы я мог отслеживать его состояние (убедитесь, что он все еще подключен, тревога не сработала и т. Д.).
Я начал создавать проект MVC и в файле global.asax запускаю новый поток, который загружает / запускает класс, который я изначально создал для winService.
Application["MyTcpClass"] = new MyTcpClass();
Затем в моем HomeController я добавил опрос () ActionResult:
public void Poll()
{
MyTcpClass objClass = (MyTcpClass)Application["MyTcpClass"];
//If objClass is null, recreate/reconnect it
objClass.Poll();
}
Прежде чем идти дальше и начать добавлять способ возврата статусов и т. Д., Я хотел бы уточнить у всех, является ли это хорошим методом и / или есть ли лучший способ?
Заранее спасибо!