ASP.NET i Blazor sterowanie urządzeniami

0

Cześć,

Mam problem z wyborem rozwiązań które powinienem zastosować w projekcie. Byłbym wdzięczny, gdybyście podali mi najrozsądniejsze w zakresie technologii których używam. Programuję niedługo, hobbystycznie, do tej pory win formsy i WPF ale teraz chcę stworzyć coś w webie. To do sedna.

  1. Mam serwer w ASP.NET z autentykacją, wystawionym api w swaggerze do wysyłania żądań z klienta z interfejsem użytkownika, napisanego w blazorze (m.in. zapytania SQL). To działa i ten wątek praktycznie mam ogarnięty.

  2. Funkcjonalność którą zaprogramowałem wygląda tak i nie wiem gdzie mam to wpleść, załóżmy, że na ten moment jak "poskładam klocki", po uruchomieniu aplikacji konsolowej stanie się to co chce czyli:

  • Dostanę informacje z czujnika, że został przecięty obwód światła (coś znajduje się na linii).
  • uruchomi to czytnik RFID, który przez kilka sekund będzie szukał tagów, jeśli znajdzie pasujący tag w bazie danych, otworzy NO na module działającym po modbusie i dzięki temu zapali się
    światełko,
  • zacznie ważyć to co znajduje się na wadze do uzyskania stabilnego ważenia. Waga odpytywana jest po UDP.
  • następnie, znowu wyślę informacje do modułu modbus, otwierając wejście zapalające światełko.
  • zapisze dane do bazy SQL.

Teraz pytanie jest następujące. Jak powinienem uruchamiać ten moduł:

  • wrzucić go bezpośrednio do serwera ASP.NET, wykorzystać background worker? (wydaje mi się to kiepskim pomysłem?),
  • wykorzystać coś takiego jak hangrife do uruchomienia np. aplikacji konsolowej która zrobi to co napisałem wyżej,
  • przerobić to na usługę windowsa działającą w tle, i nie wiązać tego w żaden sposób z serwerem w ASP.NET, zwracać tylko dane do SQL,
  • to co wyżej tylko może aplikacja w winformsach/wpf, działająca cały czas na pasku/w zasobniku,
  • a może błądzę i powiniem zainteresować się jakimś innym rozwiązaniem, nie wymienionym wyżej?

ważne tutaj jest to, że czasami z tego klienta w blazorze będę musiał wywołać akcję ręcznie (np. przez API do serwera ASP), jak się ma do tego aplikacja konsolowa lub winformsy/wpf (SignalR?). Podpowiedzcie, bo zrobiłem i stoję, tylko dlatego że, nie wiem jak to zaimplementować, połączyć, żeby było dobrze, za duży wybór. :(

1

Ja bym zrobił na Windows Service. Z Top Shelf to proste. Jeśli musisz wywoływać zdalnie to SelfHost API w tym serwisie przyjmujący żądania z ASP.NET.

0
jacek.placek napisał(a):

Ja bym zrobił na Windows Service. Z Top Shelf to proste. Jeśli musisz wywoływać zdalnie to SelfHost API w tym serwisie przyjmujący żądania z ASP.NET.

Właśnie o takie podpowiedzi mi chodzi, dzięki! ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1